{% include 'includes/_navbar.html' %}
PROCESO ALGORÍTMICO PARA
RECUPERACIÓN EFICIENTE DE TEXTO
HISTÓRICO Y GESTIÓN DOCUMENTAL
JESÚS MARTÍN SILVA FERNÁNDEZ
Maestro en Ciencias de la Computación
Para Optar el Título de Doctor en Ciencias de la Computación
Doctorado en Ciencias de la Computación
Facultad de Ingeniería de Producción y Servicios
Universidad Nacional de San Agustín de Arequipa, Perú
2025
i
Epígrafe
ii
Dedicatoria
iii
Agradecimiento
iv
Asesor
v
Resúmen
El presente trabajo se enfoca a presentar una propuesta para el problema de reconocimiento
de texto de documentación textual histórica deteriorada, la que se presenta en todas las
organizaciones con registro del aservo documental cuyo volumen es proporcional a la
antiguedad y su valor de contenido no solo representa información útil para el nivel ejecutivo
sino como evidencia de la actividad continua y resultados temporales.
Representa un requerimiento informático cuya complejidad se resuelve con algoritmos
inteligentes que se exponen con un enfoque formal , se implementan y se evalúan los
resultados de los mismos con fines de aceptabilidad de resultados.
Con el fin del proceso de implementación y validación se implementa una infraestructura para
que utilizando una base de datos documental se realizan pruebas de eficiencia con indicadores
de tiempo de respuesta y calidad de resultados en este caso recuperación de texto válido y
aceptable .
Se diseña una propuesta de procesamiento digital para la gestión documental histórica con el
agregado de reuperación significative de texto deteriorado, el que se justifica desde enfoque
tecnológico, económico y social.
vi
Abstract
This paper focuses on presenting a proposal for the problem of text recognition in deteriorated
historical textual documentation. This problem is present in all organizations with a record of
documentary evidence. The volume of these documents is proportional to their age, and their
content value not only represents useful information for the executive level but also serves as
evidence of ongoing activity and temporary results.
This represents a computing requirement whose complexity is solved with intelligent
algorithms presented with a formal approach. They are implemented, and their results are
evaluated for acceptability.
For the implementation and validation process, an infrastructure is implemented using a
document database to conduct efficiency tests with indicators of response time and result
quality, in this case, the recovery of valid and acceptable text.
A digital processing proposal is designed for historical document management with the
addition of significant recovery of deteriorated text, which is justified from technological,
economic, and social perspectives.
vii
Indice General
Epígrafe ..................................................................................................................................... i
Dedicatoria ............................................................................................................................... ii
Agradecimiento ....................................................................................................................... iii
Asesor ..................................................................................................................................... iv
Resúmen ....................................................................................................................................v
Indice de Tablas ........................................................................................................................x
Indice de Figuras ..................................................................................................................... xi
Lista de Abreviaciones .......................................................................................................... xiv
Notaciones...............................................................................................................................xv
Introducción .......................................................................................................................... xvi
1 Planteamiento del Problema .................................................................................. 1
1.1 Descripción de la Realidad Problemática ...........................................................................2
1.2 Línea de Investigación ........................................................................................................2
1.3 Enunciado del Problema .....................................................................................................3
1.4 Formulación del Problema ..................................................................................................4
1.5 Objetivos de la Investigación ..............................................................................................6
1.6 Justificación del Estudio .....................................................................................................8
1.7 Delimitación de la Investigación .......................................................................................11
1.8 Limitaciones de la Investigación .......................................................................................12
1.9 Consideraciones Éticas y Legales .....................................................................................12
1.10 Estructura de la Tesis ......................................................................................................12
2 Base Teórica ........................................................................................................... 13
2.1 DEFINICION ....................................................................................................................13
2.2 Restauración Digital por Eliminación de ruido y binarización de Imágenes de
Manuscritos Históricos ...........................................................................................................17
2.3 ADQUISICIÓN DE IMÁGENES DE DOCUMENTOS .................................................17
2.4 Preprocesamiento ..............................................................................................................18
2.5 Segmentación de caracteres ..............................................................................................24
2.6 EXTRACCION DE CARACTERISTICAS .....................................................................25
2.7 ENTRENAMIENTO ........................................................................................................27
2.8 RECONOCIMIENTO .......................................................................................................28
2.9 CLASIFICACION ............................................................................................................28
2.10 Diseño base ....................................................................................................................30
2.11 OPERACIONES BÁSICAS DE RECONOCIMIENTO ................................................30
2.12 TESSERACT ..................................................................................................................32
2.13 PROCESO INTERMEDIO .............................................................................................33
viii
2.14 alfabeto latino con 26 caracteres en mayúsculas y minúsculas para Reconocimiento de
Patrones .................................................................................................................................. 34
2.15 CONFORMACION DE DATOS ................................................................................... 37
2.16 REDES NEURONALES ................................................................................................ 38
2.17 RED NEURONAL CONVOLUCIONAL ..................................................................... 43
2.18 RED NEURONAL RECURRENTE (rnn) ..................................................................... 45
2.19 Modelos de Markov de Capa Oculta: HMMs ................................................................ 46
2.20 INTEGRACION DE RECURSOS ................................................................................. 49
2.21 PROCESO DE RECONOCIMIENTO DE CARACTERES.......................................... 49
2.22 POST-PROCESO ........................................................................................................... 50
2.23 CARACTERES DAÑADOS ......................................................................................... 63
2.24 DOCUMENTOS HISTORICOS .................................................................................... 65
2.25 RECONOCIMIENTO DE DOCUMENTOS HISTORICOS DETERIORADOS ......... 68
2.26 GESTION DOCUMENTAL .......................................................................................... 69
3 Base Metodológica ................................................................................................. 77
3.1 Descripción de la base de datos ........................................................................................ 77
3.2 Redimensionar imagen .................................................................................................... 77
3.3 Tratamiento de imagen ..................................................................................................... 78
3.4 Selección de variables ...................................................................................................... 78
3.5 Construcción del modelo .................................................................................................. 79
3.6 Métodos de clasificación .................................................................................................. 80
3.7 Evaluación del modelo y muestra de resultados ............................................................... 81
4 Descripción de Unidad de Análisis ...................................................................... 83
4.1 Planteamiento de Reconocimiento inteligente de caracteres ............................................ 84
4.2 ORIGEN DE DOCUMENTOS ........................................................................................ 85
4.3 Preprocesamiento para ICR. ............................................................................................. 86
4.4 proceso de reconocimiento ............................................................................................... 90
4.5 IMPLEMENTACION DE MEJORA DE CARACTERES.............................................. 96
4.6 requerimientos ................................................................................................................ 101
4.7 DIAGRAMA DE CLASES ............................................................................................ 102
4.8 Procesamiento general de imagenes ............................................................................... 104
4.9 IMPLEMENTACIÓN DE COMPONENTES ICR ........................................................ 105
4.10 POST-PROCESO ......................................................................................................... 124
4.11 Implementación de Gestión documental ...................................................................... 126
5 Presentación, Análisis e Interpretación de resultados ..................................... 137
5.1 resultados de segmentacion de caracteres incompletos .................................................. 137
5.2 RECONOCIMIENTO DESPLIEGUE de proyecto en NUBE (Heroku) ....................... 138
5.3 PRUEBA DE CLASIFICACION .................................................................................. 138
ix
5.4 RESULTADOS ...............................................................................................................139
6 Propuesta de Mejora ........................................................................................... 145
7 Conclusiones ........................................................................................................ 149
8 Recomendaciones ................................................................................................ 151
Indice ....................................................................................................................... 155
Anexos ..................................................................................................................... 156
DESPLIEGUE de proyecto en Heroku .................................................................................157
Tesseract en Servidores Linux. .............................................................................................159
Inicio de TensorFlow ............................................................................................................162
Ngrok generación de URL pública .......................................................................................165
Spring Tool como herramienta de desarrollo ........................................................................166
Desarrollo de la interfaz ........................................................................................................169
x
Indice de Tablas
Tabla 1: Tipos de tensor ......................................................................................................... 37
Tabla 2: Matriz con pixeles .................................................................................................... 78
Tabla 3: Matriz de Confusión método SVM .......................................................................... 81
Tabla 4: Evaluación de fases de reconocimiento ................................................................... 81
xi
Indice de Figuras
Fig 1: Contexto de Problema del trabajo ..................................................................................1
Fig 2: Tipos de reconocimiento de caracteres ...........................................................................2
Fig 3: Proceso base de reconocimiento de caracteres ...............................................................2
Fig 4: Tipos de reconocimiento de caracteres ...........................................................................5
Fig 5: Esquema general de Proceso documental .......................................................................6
Fig 6: Caja para reconocimiento (Rubio Sánchez et al., 2017) .................................................9
Fig 7: Estructura de Tesis .......................................................................................................12
Fig 8: Adquisición de datos ....................................................................................................14
Fig 9: Proceso simple de reconocimiento de caracteres..........................................................16
Fig 10: Proceso de reconocimiento detalle parcial .................................................................18
Fig 11: Imagenes con y sin color de fondo .............................................................................19
Fig 12: Una serpiente con potencial tradicional ......................................................................22
Fig 13: Una serpiente con fuerzas externas GVF. ..................................................................24
Fig 14: Proceso de reconocimiento de caracteres ...................................................................30
Fig 15: Proceso de corrección de sesgo ..................................................................................32
Fig 16: Proceso Intermedio .....................................................................................................33
Fig 17: Proceso de Reconocimiento por etapas ......................................................................34
Fig 18: Segmentación .............................................................................................................35
Fig 19: Limpieza .....................................................................................................................35
Fig 20: Modelo de proceso de reconocimiento y aprendizaje .................................................35
Fig 21:Sistema de reconocimiento con aprendizaje ................................................................36
Fig 22: Redes de avance feedforward .....................................................................................38
Fig 23: Neuronas artificiales ...................................................................................................38
Fig 24: Gráfica de Red Neuronal ............................................................................................39
Fig 25: Función de activación de neurona sigmoide ...............................................................40
Fig 26: Dimensiones de tensor resultante de convolución ......................................................45
Fig 27: Abstracción de una capa aislada .................................................................................45
Fig 28: Topologías recurrentes y representación de una neurona aislada ...............................45
Fig 29: Función dinámica en el tiempo ...................................................................................46
Fig 30: Proceso secuencia de reconocimiento y componentes ...............................................49
Fig 31: Diagrama de proceso de reconocimiento ....................................................................49
Fig 32: Sistema de diálogo ......................................................................................................50
Fig 33: Frecuencia de aparición de letras en español ..............................................................55
Fig 34: Proceso de extracción de palabras con hipégrafos .....................................................57
xii
Fig 35: Extractor de palabras clave ........................................................................................ 58
Fig 36: Dependencias sintácticas por oración ........................................................................ 59
Fig 37: Arbol sintáctico de dependencias ............................................................................... 61
Fig 38: Trigrama de elementos léxicos .................................................................................. 61
Fig 39: Frecuencia de palabras en textos ................................................................................ 62
Fig 40: Proceso identificación caracteres rotos ...................................................................... 64
Fig 41: Proceso para detector ruido ........................................................................................ 66
Fig 42: Eliminación de bordes de digitalización .................................................................... 66
Fig 43: Eliminación de interferencias de atras hacia adelante ................................................ 67
Fig 44: mejora de imagen final ............................................................................................... 67
Fig 45: Proceso de composición ............................................................................................. 68
Fig 46: Arquitecura de gestión de recuperación documental ................................................. 71
Fig 47: Agregar palabras clave de texto ................................................................................. 72
Fig 48: Flujo de proceso de indexación documental .............................................................. 75
Fig 49: Fases de reconocimiento de caracteres ...................................................................... 77
Fig 50: Proceso de reconocimiento Tess2text ........................................................................ 90
Fig 51: Pre-procesado de imagen Tesseract ........................................................................... 91
Fig 52: Reconocimiento de caracter Tesseract ....................................................................... 91
Fig 53: Entrenamiento Tesseract ............................................................................................ 91
Fig 54: Lógica de entrenamiento Tesseract ............................................................................ 91
Fig 55: Flujo de entrenamiento Tesseract .............................................................................. 92
Fig 56: Caso de uso Tesseract ................................................................................................ 93
Fig 57: Diagrama de clases red RNN ................................................................................... 103
Fig 58: Diagrama de Clases de Sistema ............................................................................... 104
Fig 59: Proceso de reconocimiento ...................................................................................... 115
Fig 60: Tipos de caracter ...................................................................................................... 118
Fig 61: Resultados de texto deteriorado procesado .............................................................. 125
Fig 62: Visualización de digitalización ................................................................................ 128
Fig 63: Proceso de Digitalización ........................................................................................ 128
Fig 64: Diagrama general de proceso digitalización ............................................................ 134
Fig 65: Actores complementarios digitalización .................................................................. 135
Fig 66: Interfaz para digitalizar ............................................................................................ 136
Fig 67: Interfaz para archivamiento ..................................................................................... 136
Fig 68: Indicador de resultados de algoritmos ..................................................................... 139
Fig 69: Expectativa de resultados ......................................................................................... 139
Fig 70: Corrección de Angulo de imagen............................................................................. 140
Fig 71: Infraestructura de Implementación y Pruebas .......................................................... 140
xiii
Fig 72: Resultados de reconocimientp de la imagen y palabras clave ..................................143
Fig 73: Indicador de evaluación de algoritmos de aproximación .........................................143
Fig 74: Arquitectura de Gestión documental eficiente .........................................................146
Fig 75: Sistema Blockchain para transacciones de Gestion documental ..............................147
xiv
Lista de Abreviaciones
If appropriate, list any abbreviations used in the thesis.
AEC Arquitectura para Extracción de Características
ANN Artificial Neural Networks, Redes Neuronales Artificiales
ANN Artificial Neural Network
ARB Arquitectura Recurrente Bidireccional
ARD Arquitectura para Reducción de Dimensionalidad
CNN Red Neuronal Convolucional
CTC Connecionist Temporal Classification
DL Deep Learning, aprendizaje profundo
DCT Transformada de Coseno Discreta
DIRKS Designing and Implementing Recordkeeping Systems
HMM Hidden Markov Model, Modelos de Markov de Capa Oculta
HWR Handwriting recognition
HSL hue o matiz, saturation o saturación, luminosity o luminosidad/tono
ICR Reconocimiento inteligente de caracteres
ISO International Standard Organization
LCS Learning Classifier Systems
LSS Lexicon semantic structure
LSTM Long Short Term Memory
MLP MultiLayer Perceptron
MLSTM Multi-Dimensional Long ShortTerm Memory
NHR Reconocimiento de manuscrito natural
NLP Natural language processing
OCR Reconocimiento optico de caracteres
OHR Offline Handwriting Recognition, Reconocimiento estático de manuscritos
PCA Principal component análisis
PLN Procesamiento de lenguaje natural
RATM Reconocimiento Automático de Texto Manuscrito
RAW Archivo con datos de imagen sin comprimir
RFE Eliminación recursiva de atributos (Recursive Feature Elimination)
RGB Red rojo, verde, azul
RH Reconocimiento del Habla
RNN Recurrent Neural Networks, Red Neuronal Recurrente
ROC Receiver operating characteristic curve
RTM Texto Manuscrito Continuo
RFE Eliminación Recursiva de Características
SGD Sistema de Gestión Documental
SVM Máquinas de soporte vectorial
WARM Write Always Read Many
WROM Write Once Read Many
YCbCr espacios de color usada en sistemas de vídeo y fotografía digital
xv
Notaciones
vector columna de datos
y etiqueta de datos
󰇍
󰇍
vector columna no-cero
󰇍
󰇍
Transpuesta de
󰇍
󰇍
 Matriz nxm de valores reales
i parámetro de índice para el número de clases, i = 1, ..., q
j parámetro de índice para el número de núcleos, j = 1, ..., p
xvi
Introducción
The work contained in this thesis has not been previously submitted to meet
requirements for an award at this or any other higher education institution. To the best
of my knowledge and belief, the thesis contains no material previously published or
written by another person except where due reference is made.
Signature: _________________________
Date: _________________________
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
1
1 Planteamiento del Problema
Los documentos físicos y digitales son portadores de información institucional actual e
histórica con el fin principal de la toma de decisiones, de supervisión y control y de memoria
como patrimonio aservo organizacional, siendo las operaciones de generación,
almacenamiento y consulta documental inherentes a esta gestión.
Para documentación actual, los sistemas electrónicos resuelven de manera automática las
operaciones de generación y almacenamiento digital y por tanto la recuperación y consulta
utilizando indexamiento con características de exhaustividad y rapidez.
En la gestión de documentación histórica, cuyo contenido generalmente es reconocido
cada vez en mayor porcentaje, fue generada de forma física, en gran volumen y tiene
información relevante para resolver los objetivos principales de esta gestión, sin embargo, se
debe realizar actividades de preparación para generar almacenamiento digital adecuado, con
el fin de su recuperación eficiente.
La documentación histórica tiene diversas características que no permiten la recuperación
con el proceso regular para conseguir un estado aceptable de documento en forma y contenido,
debido al deterioro físico y de contenido de información, básicamente de nitidez, que
disminuye significativamente por el uso, ruido y antigüedad.
Considerando estas características, el presente trabajo se refiere a tres aspectos para
mejorar el proceso de recuperación, para reconocimiento de caracteres deteriorados y
optimizar el proceso de gestión documental:
El escáner es el concepto inicial de reconocimiento de caracteres, con procesos de captura
y procesamiento de imagen OCR, con restricciones significativas para documentación con
texto deteriorado.
En el ICR las etapas iniciales se consideran como ayuda para personas con problema
visual. (Abdulwahhab Hamad & Kaya, 2013)
histórico
actual y futura
Indexamiento
Almacenamiento
Indexamiento
Consulta
Gestión documento digital
Preparación
Captura
Reconocimiento
Exposición
Exposición
Fig 1: Contexto de Problema del trabajo
2
1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA
El Reconocimiento Óptico de Caracteres OCR, es el proceso de identificar caracteres
capturados ópticamente. Este reconocimiento se realiza fuera de línea después de que se ha
escrito o impreso en forma completa, y el reconocimiento en línea en el que el computador
reconoce los caracteres a medida que se dibujan. Se puede reconocer los caracteres impresos
y los escritos a mano, la eficiencia depende de la calidad de los documentos de entrada.
El reconocimiento de caracteres es subconjunto del reconocimiento de patrones,
utiliza un número de fuentes que es limitado y se aplica la coincidencia de plantillas,
compara la imagen del carácter con una biblioteca de imágenes prototipo para cada
carácter de cada fuente.
Componentes de un Sistema básico de reconocimiento de caracteres:
1.2 LÍNEA DE INVESTIGACIÓN
Reconocimiento automático de patrones, análisis de imágenes y generación de
características, forma parte de sistemas inteligentes y tratamiento de imágenes
Reconocimiento de caracteres
Fuera de línea
En línea
Caracteres simples
Escritura manuscrita
Impreso
Manuscrito
Reconocimiento
Verificación
Escaneo
óptico
Segmentación
de ubicación
Preprocesamiento
Extracción de
características
Post procesamiento
de reconocimiento
Fig 2: Tipos de reconocimiento de caracteres
Fig 3: Proceso base de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
3
Gestión documental, operaciones de captura, almacenamiento y consulta en un
entorno de algoritmos eficientes.
1.3 ENUNCIADO DEL PROBLEMA
1.3.1 Reconocimiento de texto histórico deteriorado
Con el escaneado se captura una imagen digital del documento original, la
segmentación determina los constituyentes de una imagen, para localizar las regiones
del documento donde están los datos y distinguirlos de figuras, aplicada al texto, la
segmentación es aislar caracteres o palabras.
El preproceso es para limpiar la imagen de escaneo de ruido existente, que puede
eliminarse y suavizar los caracteres digitalizados, el alisado es el relleno y
adelgazamiento, el suavizado, incluye la normalización, para obtener caracteres de
tamaño, inclinación y rotación uniformes. Las técnicas de comparación y correlación,
utilizan una matriz que contiene la imagen del carácter de entrada y la compara
directamente con un conjunto de caracteres prototipo que representan cada clase
posible. La clasificación identifica cada carácter y asigna la clase de carácter correcta.
El post-procesamiento utiliza el agrupamiento para asociar los símbolos
individuales que pertenecen a la misma cadena, formando palabras y números
considerando normas de sintaxis y gramática. Los modelos de corrección de palabras
identifican caracteres y algunos de estos errores que se detectan, se corrigen
adecuadamente.
Determinar palabras claves de búsqueda, luego de la captura de datos para lo que
se utilizan tecnologías para grandes cantidades, restringidas al juego de caracteres del
lenguaje, se usan lectores que son cada vez, notablemente tolerantes a la mala calidad
de impresion, y procesan grandes cantidades de documentación.
La aplicación ICR puede reconocer no solo el texto impreso, sino también el tipo
de Fuente, considerando tamaño y formato de párrafo El tiempo de reconocimiento de
una sola página A4 puede ser algunos nanosegundos, dependiendo de configuración
de hardware y software.
El uso específico de la tecnología ICR es el reconocimiento de formularios,
documentos que tienen cierta estructura o diseño específico. El reconocimiento de
formas difiere de texto completo, recupera piezas particulares y predefinidas de
4
información de un documento; ICR juega un papel importante en la digitalización y
decodificación del patrimonio cultural impreso.
El uso de tecnologías ICR, permite el reconocimiento de texto confiable y la
digitalización integral de documentos antiguos y, las fuentes históricas que están
disponibles.
Con lectores de velocidad y precision y, software como ICR, se puede descifrar
fuentes manuales de forma fiable en el contexto de proyectos de digitalización
individuales para bibliotecas, y la digitalización masiva de documentos de texto
históricos
El uso de ICR permite que los textos antiguos sean utilizados para reimpresiones y
para documentos antiguos puede realizar búsquedas eficientes con el uso de formatos
digitales, como XML, con meta-información (por ejemplo, información sobre el
diseño original del documento), archivos PDF y libros electrónicos con capacidad de
búsqueda, y se amplía considerablemente las posibilidades de distribuir documentos
históricos, evitando el uso de documentos originales.
1.3.2 Proceso de Gestión documental eficiente
La operación de digitalización de la documentación histórica tiene requerimientos
especificos por el estado de documentos físicos generalmente en deterioro y/o
impresión de texto con ruido.
Otro aspect es la organización de documentación física que generalmente es
desordenada y los criterios de ordenamiento son muy generales, impactando en la
recuperación de la información en rapidez y nivel de detalle.
1.4 FORMULACIÓN DEL PROBLEMA
1.4.1 Problema General
El reconocimiento de documentación histórica combina visión artificial con
aprendizaje secuencial. la segmentación de cada carácter es difícil debido a los
distintos tipos de caligrafía y a la naturaleza cursiva de la escritura a mano.
Considerando estos factores se diseñan modelos de reconocimiento de palabras
completas o líneas de texto, es decir, la secuencia de caracteres. Se considera:
Extraer los caracteres correctos de imagen,
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
5
Uso de algoritmos basados en Aprendizaje Automático
Evaluación de resultados y corrección agregada para mejorar
Calidad
Extraer palabras clave de búsqueda para recuperación.
1.4.2 Problemas Específicos
El reconocimiento de caracteres manuscritos puede mejorar con algunas
actividades complementarias:
a) Pre-reconocimiento: en los documentos deteriorados es usual
encontrar caracteres incompletos, los que requieren un procesamiento para
mejorar las características físicas del carácter antes del reconocimiento
b) Post-reconocimiento: luego del reconocimiento se tiene un %
de eficiencia creciente y con el fin de mejorar este indicador se realiza un
reconocimiento de palabras considerando el lenguaje, con el que el % se
mejora significativamente .
c) Palabras clave: el proceso de gestión de documentación
histórica incluye la captura, almacenamiento, indexación y consulta, con
este fin se requiere la identificación de palabras representativas del
contenido textual..
Reconocimiento
de Caracteres
Manuscrito
Impreso a
máquina
Símbolos
aislados (ICR)
Palabras y líneas
completas(NHR)
Online
Offline
Online
Offline
Fuente
única
Varios
tipos de
fuente
Fig 4: Tipos de reconocimiento de caracteres
6
1.5 OBJETIVOS DE LA INVESTIGACIÓN
1.5.1 Objetivo General
El objetivo del presente trabajo es implementar algoritmos, para mejorar el
reconocimiento de texto de documentación histórica deteriorada, previa preparación
de los mismos con el fin de recuperar tres componentes:
Documento histórico optimizado
Reconocimiento de texto mejorado con algoritmos de
preparación y de reconocimiento y corrección de palabras..
Recuperación documental optimizando principalmente
búsqueda y valor de contenido.
En la escritura de documento histórico deteriorado se busca reconocer cada letra,
y obtener su significado semántico. La solución se compone de los siguientes pasos:
preproceso, extracción de características y reconocimiento e interpretación integrada
a través de modelos de estados finitos y transductores estocásticos de estados finitos.
En el primer paso se divide en líneas de texto y se limpia la imagen de ruido.
Después de extraer líneas y eliminar el ruido se procede corregir la inclinación de
palabras (skew) y letras (slant), luego se elimina la mayor parte de la variabilidad
vertical de la imagen por escalado. Se genera vectores de características mediante el
normalizado de nivel gris y las derivadas horizontales y verticals y con los vectores de
características se aplica el clasificador.
Se analiza e implementa modelos DL de mejora de resultados, para la
documentación histórica, con aspectos matemáticos, en forma de tensor de entrada, y
generar palabra, como secuencia de etiquetas
BASE DE
CONOCIMIENTO
Adquisición
de Imágenes
Preprocesado
Segmentación
Descripción
Reconocimiento
e interpretación
Postproceso
Consulta
Palabras clave
Fig 5: Esquema general de Proceso documental
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
7
La función (x) que transforma el tensor en la secuencia dentro de un conjunto
Ω, formado por pares (, ), que representa todas las posibles imágenes con palabras
escritas:
= (), (, ) (Y1) B
El sistema aprende a leer imágenes y genera la salida hasta la ideal y conocida.
Este tipo es el aprendizaje supervisado; en el no supervisado, se deduce una función
con datos de entrenamiento compuestos por pares (, ). Entonces, el sistema se
comporta como función ′(·) que con entrada de un tensor y unos parámetros , se
obtiene resultado una secuencia ′, que es la salida del sistema:
= ′(, )
genera resultado del sistema, para par (, ) de todo Ω. Este problema de
optimización, tiene objetivo genérico:
 = (, ), (, )
(·) es una función error para medir diferencia entre dos secuencias, y que tiene
valor 0 cuando ambas son iguales. Esta función objetivo y un subconjunto  Ω,
representa el problema general de aprendizaje de minimizar, o encontrar valores
suficientemente pequeños de este error y realizar distintas evaluaciones sobre los
diversos modelos encontrados.
1.5.2 Objetivos Específicos de Gestión documental
Recuperar y recolectar la información de los documentos
históricos
Utilizar información textual del contenido de documentos
Filtrar la información relevante de la documentación
La gestión de documentos se aplica durante todo el ciclo de vida del mismo desde
la producción del documento hasta su disposición con fines de conservación
permanente o eliminación. El ciclo de vida documental tiene tres etapas básicas:
diseño, creación y mantenimiento incluye preservación y uso (Zea Evelin, 2016), la
operación de recuperación/consulta depende de la indexación.
8
1.6 JUSTIFICACIÓN DEL ESTUDIO
1.6.1 Teórica
En el reconocimiento histórico y significativo se pueden hacer mejoras en la
Calidad con indicadores de precisión que se logra, con parámetros como:
Calidad del papel original
• Calidad del escaneo
• Parámetros de escaneo correctos
• Calidad del procesamiento de la imagen
• Calidad del análisis de contenido de documentos para identificar con precisión el
texto
• Reconocimiento de caracteres optimizado para fuentes antiguas
• Uso de una solución ICR especializada en escritura histórica
• Opciones de corrección automatizada
Los estándares de calidad se pueden lograr con la aplicación ICR y, requieren más
tiempo cuando se trata de documentos históricos, debido a la aplicación de procesos
preparatorios, el proceso de reconocimiento y el post-procesamiento de los resultados
de ICR.
La tecnología de búsqueda para encontrar palabras en ortografía "histórica" es
capaz de encontrar palabras con errores de ICR, porque utiliza algoritmos de búsqueda
optimizados.
En los sistemas ICR se distingue según el tipo de entrada, sistemas de
reconocimiento dinámico y sistemas de reconocimiento estático, también conocidos
como sistemas online y offline, respectivamente. Los sistemas de reconocimiento
dinámico reconocen el texto mientras el usuario está escribiendo, esta información
incluye la cantidad, la duración y el orden. Los sistemas de reconocimiento estático
tienen el texto completo, no tienen acceso a la información dependiente del tiempo se
considera una tarea más compleja y desafiante. (Martnez Mndez, 2004).
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
9
1.6.2 Práctica
El reconocimiento estático de documentación histórica, se realiza con Modelos
Ocultos de Markov HMM, y con arquitecturas de Aprendizaje Profundo DL, basadas
en Redes Neuronales Artificiales ANN, (Rubio Sánchez et al., 2017)
Las arquitecturas RNNs y CNNs consiguieron mejorar los resultados, estos
sistemas no experimentaron un progreso sustancial hasta la aparición de las redes
MLSTM y las CTC, redes para aprovechar más información y mejorar el aprendizaje
(Rubio Sánchez et al., 2017)
Fig 6: Caja para reconocimiento (Rubio Sánchez et al., 2017)
Las Redes RNN han demostrado su eficacia en el modelado de
secuencias(Custodio, 2016). Las RNNs son un tipo de ANN donde las conexiones
entre las neuronas forman ciclos dirigidos, lo que genera un estado interno que
consigue un comportamiento temporal dinámico para modelar secuencias largas con
estructuras complejas. Estas arquitecturas son intrínsecamente profundas en el tiempo
y tienen muchas capas, con un entrenamiento de optimización difícil. La explosión y
el desvanecimiento del gradiente fueron las razones de la falta de aplicaciones
prácticas de las RNN. Para estos problemas se realizaron avances en el diseño de
RNNs, donde destacan las llamadas redes LSTM, que están compuestas por celdas
10
diseñadas para sustituir a las clásicas neuronas, con rendimiento superior en problemas
de modelado de secuencias
1.6.3 Metodológica
La esencia del trabajo es el mejoramiento de resultados del proceso de
reconocimiento de texto y recuperación de documentos históricos, para lo que se
plantea un modelo análitico cuantitativo basado en experimentación de muestra y
valoración de resultados.
En este modelo de investigación se considera (Arturo et al., 2011):
Fase conceptual: Formulación y delimitación del problema, Revisión
de la literatura, Construcción del marco teórico, Formulación de hipótesis.
Fase de planeación y diseño: Selección de un diseño de investigación,
Identificación de la población que se va a estudiar, Selección de métodos e
instrumentos, Diseño del plan de muestreo, rmino y revisión del plan de
investigación, Realización del estudio piloto y las revisiones.
Fase empírica: Recolección de datos, Preparación de los datos para
análisis.
Fase analítica: Análisis de datos, Interpretación de resultados,
Fase de difusión, Comunicación de las observaciones, Aplicación de
las observaciones.
1.6.4 Social
La recuperación documental histórica de las instituciones tiene como fin:
La argumentación y reflexión previa a la toma de decisions por
parte de los diferentes órganos y servicios de las instituciones, así como
garantizar la calidad en la gestión de sus servicios
Construir la memoria como elemento clave de la conciencia
colectiva y de la cultura del futuro, generan conocimiento y con ello, se
facilita la mejora continua.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
11
La administración electronica y documentos digitales optimizan la
consulta de información relevante y pertinente para culaquier situación
específica.
Preservación de documentación con características esenciales
1.6.5 Económica
La recuperación de texto y documentos históricos optimiza el
uso de recursos principalmente financieros:
Tiempos de consulta que se reducen significativamente debido
a la recuperación digital
Espacio físico se reemplaza por almacenamiento digital, que
tiene ventajas de preservación temporal y de espacios
Recursos humanos dedicados a la gestión documental se
reducen debido a que las actividades básicas de gestión son de atención
contínua y mantenimiento electrónico.
1.7 DELIMITACIÓN DE LA INVESTIGACIÓN
El alcance del Proyecto está delimitado a dos temas fundamentales:
Reconocimiento de texto manuscrio de textos con caracteres
deteriorados: Los reconocedores convencionales al trabajar con letra cursiva
y textos antiguos tiene resultados con precision creciente, el proyecto implica
la mejor implementación posible a problemas como segmentación de
escritura continua, entendimiento de texto completo en base a clasificación
de caracteres y palabras previa identificación de palabras en imágenes
digitales que contienen diferentes tipos información generalmente con ruido.
Recuperación de documentación histórica en condiciones de pérdida
continua de información: Conjunto de los procesos destinados a garantizar
la continuidad de los elementos del patrimonio digital durante todo el tiempo
que se consideren necesarios; teniendo como objetivo, garantizar su
accesibilidad a largo plazo. Se consideran funciones de preservación,
conservación, restauración y recuperación para alcanzar una mayor calidad
12
de la información y una selección efectiva de la información con un soporte
tecnológico adecuado.
Proceso de gestión documental eficiente, con actividades desde la
captura de información hasta la consulta eficiente.
1.8 LIMITACIONES DE LA INVESTIGACIÓN
Las restricciones de la investigación son:
El idioma español con la Base de datos de caracteres para reconocimento.
Las base de datos de caracteres con diversidad de caracteres para entrenamiento.
Algoritmos de mejora en el pre y post proceso en el reconocimiento de caracteres
y para la recuperación documental.
1.9 CONSIDERACIONES ÉTICAS Y LEGALES
Los aspectos de ética se enfoca a los derechos de autor y fuentes investigadas:
Los algoritmos conocidos para el reconocimiento de texto manuscrito
como Tesseract se implementa debidamente referenciado.
Algoritmos de reestructuración documental con fines de mejorar su
representación de origen.
Proceso de recuperación documental con el objeto de digitalización y
recuperación confiable y optimizada de contenido
1.10 ESTRUCTURA DE LA TESIS
Capítulo 1
Planteamiento
del Problema
Capítulo 4
Descripción de
Unidad de Análisis
Capítulo 2
Base Teórica
Capítulo 3
Base Metológica
Capítulo 5
Presentación de
Resultados
Capítulo 6
Propuesta de Mejora
Fig 7: Estructura de Tesis
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
13
2 Base Teórica
Se describen conceptos a considerar en el trabajo como base teórica que explican de por
sí, el fin de su uso, esencialmente referidos a Tecnologías de Reconocimiento de texto y
palabras en el context de documentos históricos deteriorados.
2.1 DEFINICION
Las tecnologías de reconocimiento pueden clasificarse como:
a) Estadística
El proceso gico de algoritmos de reconocimiento de caracteres con base en
estadísticas es:
Cálculo de estadísticas relevantes para una imagen digitalizada
Comparación de estadísticas con base de datos predefinida
b) Semántica
Las actividades de un clasificador basado en la semántica para el
reconocimiento de caracteres son:
Búsqueda del punto inicial de un contorno.
Trazado del contorno.
Identificación de características del contorno mientras se traza:
“arriba”, “abajo”, “diagonal arriba”, “arco”, “bucle”, etc.
Búsqueda en base de datos de descripción similar a la obtenida,
se ejecuta por representación de descripciones en árbol lógico (gráfico)
y luego se compara con los gráficos de la base de datos
c) Híbrido.
Reconocimiento de Texto deteriorado: tarea que transforma un lenguaje
representado por su forma espacial de marcas gráficas a una representación simbólica.
Esta representación simbólica es el código ASCII de 8 bits.
14
El Reconocimiento de Patrones es el estudio de como las máquinas pueden
observar el ambiente o entorno, aprender a distinguir patrones de interes a partir de la
experiencia, y tomar decisiones razonables de las categorías a las que pertenecen.
La precision en el reconocimiento asociada a imagen degradada es insuficiente, por
errores de reconocimiento
Se propone combinación de algoritmos complementarios que detectan
ambiguedades y las resuelven, lo que constituye el aporte del trabajo. Se considera un
sistema mas completo de reconocimiento de patrones en etapas, con arquitectura
modular, utiliza distintas características extraidas de los patrones de entrada.
Forma de adquisición de datos: Se distingue dos tipos de adquisiciones de datos
descritos en capítulo anterior:
“On-Line” : los datos se obtienen en tiempo real mientras se escribe.
“Off-Line” : los datos son registrados por medio de escáneres o cámaras en forma
de imágenes.
También estos sistemas de reconocimiento pueden se dividen en dos categorías
principales: el reconocimiento dinámico y el reconocimiento estático.
La información no tiene una naturaleza temporal, es bidimensional y consiste de
una imagen de caracteres digitalizada.
Fig 8: Adquisición de datos
Los todos de investigaciones ICR fueron Template Matching y Analisis
Estructural, también conocido como Feature Matching, son métodos de clasificación
basados en aprendizaje, especialmente las Redes Neuronales Artificiales (RNA),
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
15
entonces los cuatro enfoques s importantes para el Reconocimiento de Patrones
son: Template Matching, Clasificación Estadística, Correspondencia Sintáctica o
Estructural y Redes Neuronales artificiales.
Template Matching se orienta a determinar el grado de similitud de dos entidades
del mismo tipo, que pueden ser puntos, curvas u otras formas. Con este fin se utiliza
un prototipo como patron a reconocer (de dos dimensiones) y aprende a partir de datos
de entrenamiento. Las técnicas de Template Matching pueden agruparse en tres
categorías: Correspondencia Directa, Prototipos Deformables y Correspondencia
Elástica, y Correspondencia Relajada.
En enfoque Estadístico, cada patrón se representa como características o
mediciones, como un punto en el espacio de dimensiones. El objetivo es seleccionar
características de patrones que pertenezcan a distintas categorías que ocupen regiones
compactas y disjuntas en el espacio de características dimensional, para separar los
elementos de cada clase adecuadamente. Con un conjunto de patrones de
entrenamiento, se establecen límites de decision en este espacio de características, en
base a las distribuciones de probabilidad de patrones por clase. Las técnicas de
escritura de texto deteriorado son de este grupo, ejemplo, el vecino mas cercano (k-
NearestNeighbor), el clasificador Bayesiano, el clasificador discriminante polinomial,
Modelos Markovianos Ocultos (Hidden Markov Model - HMM), Maquinas de Soporte
Vectorial (Support Vector Machines), y otros.
Los Patrones Sintácticos, tiene similitud formal de la estructura de los patrones y
la sintaxis del lenguaje, estos patrones son estructuras u oraciones del lenguaje, y las
primitivas o subpatrones elementales son el alfabeto, son generadas con una gramática,
el conjunto de patrones complejos se describen utilizando un número pequeño de
primitivas y reglas gramaticales, la gramática de cada clase se infiere del conjunto de
patrones de entrenamiento. La dificultad son los grandes conjuntos de datos y tienen
altos costos computacionales.
Las Redes Neuronales Artificiales tienen la característica de poder aprender
correspondencias no-lineales complejas entre valores de entrada y salida, se entrenan
con ejemplos y aprenden de grandes bases de datos. Las RNA se utilizan en el
Reconocimiento de Patrones y en el problema de Caracteres Manuscritos con alto
rendimiento
16
Los métodos de extracción de características usan un conjunto de características
que discriminan entre patrones de distintas clases, con impacto en el resultado final de
la clasificación.
Los métodos de extraccion de características del reconocimiento de caracteres
manuscritos consideran características estadísticas o estructurales. Las primeras
utilizan la distribución estadıstica de los puntos de la imagen, como momentos e
histogramas. Las características estructurales se basan en propiedades geométricas y
topológicas del carácter, como trazos y sus direcciones, intersecciones de segmentos y
ciclos
La extracción de características tradicional tiene una etapa de preprocesamiento
previa a la clasificación en donde se definen las características relevantes apropiadas
para el clasificador y, los sistemas basados en aprendizaje de imágenes, realizan el
análisis de la imágen junto con la extracción de características, para luego clasificar
todo en un mismo módulo. Para que los patrones sean clasificados correctamente en
el problema de reconocimiento de caracteres manuscritos, se usa la red neuronal
Convolucional LeNet5 desarrollada por LeCun.
Las Redes Neuronales Artificiales tienen resultados aceptables en reconocimiento
de caracteres manuscritos. Se utilizan métodos clásicos de reconocimiento, como las
redes feedforward multicapa entrenadas con Backpropagation (MLP). Le Cun expone
métodos aplicados al problema de ICR para reconocimiento de caracteres manuscritos
y realiza el análisis en reconocimiento de documentos (Seijas, 2011)
Análisis de
Diseño
Reconocimiento
de líneas de Texto
Modelado
estadístico de
lenguaje
Texto
Fig 9: Proceso simple de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
17
La arquitectura del sistema es de avance (sin retroceso) con tres componentes
principales: análisis de diseño (físico), reconocimiento de líneas de texto y modelado
de lenguaje estadístico;
a) El análisis de diseño físico identifica columnas de texto,
bloques de texto, líneas de texto y orden de lectura.
b) El reconocimiento de línea de texto y contenido dentro de cada
línea, las líneas pueden ser vertical o de derecha a izquierda.
c) El modelado estadístico del lenguaje integra alternativas de
reconocimiento con conocimientos previos sobre lenguaje, vocabulario,
gramática y dominio del documento (Breuel, n.d.).
2.2 RESTAURACIÓN DIGITAL POR ELIMINACIÓN DE RUIDO Y
BINARIZACIÓN DE IMÁGENES DE MANUSCRITOS HISTÓRICOS
La restauración digital, la preservación y el almacenamiento en bases de datos de
imágenes manuscritas utiliza técnicas y métodos y, procesamiento de imágenes de
texto en documentos.
Las técnicas utilizadas para mejora de imágenes y restauración son, eliminación de
ruido y binarización. La eliminación de ruido en la imagen y binarización se refiere a
la conversión de una imagen en escala de grises a binaria. Binarización por umbral
convierte la imagen del documento en escala de grises a binaria, cambiando píxeles
de primer plano (caracteres de texto) a negro y píxeles de fondo a blanco. La Imagen
binaria resultante en blanco y negro, almacenable con características básicas de la
imagen original.
2.3 ADQUISICIÓN DE IMÁGENES DE DOCUMENTOS
La adquisición de imágenes sin procesar (nitidez, resolución y curvas de función
de transferencia) se realiza mediante cámara, video o escáner.
Las imágenes sin formato tienen información de color de 12 bits por xel. El
software de edición de imágenes utiliza 8 bits o 16 bits. Los datos de 12 bits por píxel
de un archivo RAW son más precisos que los de 8 bits formato de un .jpg.
El estiramiento mejora el contraste. Altos picos al final del histograma, sugieren
colores de alta intensidad. Las estadísticas de imagen generan el histograma, valores
18
medios de color, desviación estándar, mediana, con base en histograma se realiza
segmentación de imágenes previa ecualización de histogramas para cada canal de color
en RGB, HSL, YCbCr espacio de color Vertical. Las estadísticas de intensidad
horizontal proporcionan información sobre la vertical.
El proceso consiste en:
Primer paso: adquisición de imágenes
Segundo paso: de preprocesamiento de la imagen para mejorar la imagen y
convertirla en más utilizable.
Tercer Paso: Paso de segmentación donde se separan los caracteres de palabra.
Cuarto paso: Extracción de características, que es la extracción de la textura y
característica de caracteres escritos a mano:
2.4 PREPROCESAMIENTO
Las actividades de preprocesamiento de imágenes son, la Binarización con
diferentes tipos de umbrales, detección y eliminación de inclinación, detección de
inclinación, suavizado, limpieza, segmentación previa, reconocimiento de caracteres,
separación de caracteres, normalización de caracteres, adelgazamiento, formación de
cuadrícula, determinación del punto singular.
Los métodos como HMM requieren preprocesamiento de datos de entrada para
filtrar los ruidos, como daños de documentos escaneados o estilo de escritura cursiva
a) Análisis de primer plano/fondo
Ingreso de Imagen
Pre-proceso
Segmentación
Extracción de
características
Clasificación/
Reconocimiento
Post procesamiento
Texto de Salida
Fig 10: Proceso de reconocimiento detalle parcial
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
19
Fig 11: Imagenes con y sin color de fondo
b) Enderezar
La corrección del ángulo de inclinación detectado, se realiza con el método para
detectar bordes de Sobel
c) Binarizacion
En el Binarizado se encuentra un umbral adecuado para minimizar la pérdida de
información
El umbral, es una técnica de mejora de contraste binario, proporciona la definición
de límites de los objetos que aparecen en un fondo de contraste. El rango de umbral se
especifica mediante un valor bajo y un valor alto, se realiza con el método Otsu, el
umbral global:
g(x,y) =󰇛󰇜

T es el umbral de la imagen f(x,y) y g(x,y) resultado de la umbralización.
d) Umbralización Local
Método de Niblack
T(x,y)=m(x,y)+k*s(x,y) k=-0.2
donde m(x,y) y s(x,y) son el promedio de un área local y la desviación estándar.
El tamaño de la ventana de 15 por 15 suprime el ruido de la imagen, pero conserva
los detalles locales.
El método de Sauvola es un método de umbral adaptativo, con k=0,1 y R=128.
T(x,y) = 󰇛󰇜󰇟 󰇡 󰇛󰇜
󰇢󰇠
20
Método de Bernsen donde Zmax y Zmin son de máxima/mínima intensidad y trabaja
en contraste alto C(x,y) dependiente de k y del tamaño de la ventana n. El umbral
produce supuestos:
T(x,y) = 
C(x,y) = Zmax - Zmin
e) Eliminación de ruido
El filtrado para eliminación de ruido está en el dominio espacial o de frecuencia.
Los filtros también se subdividen en filtros lineales y no lineales. Son tres filtros en el
dominio espacial (media, mediana y Wiener) con varios tamaños de ventanas y dos
filtros en el dominio de la frecuencia (Butterworth y Gaussian).
El ruido se puede considerar como una función f(x, y), sumada o mezclada con una
imagen i(x, y) en la que se puede ver el resultado como una función g(x, y); esto es:
g(x, y) = f(x, y) + i(x, y)
La hipótesis es que en cada par coordenado (x,y) el ruido es una función sin
correlación y tiene un valor medio de cero.
f) Procesamiento en el dominio del tiempo
Filtro medio: la intensidad de cada píxel de la imagen se sustituye por el
valor medio de intensidad de sus píxeles vecinos:
I(I,j) =
󰇛󰇜
󰇛󰇜
Donde M es el número de píxeles en el vecindario N
Filtro mediana: Este es un filtro no lineal:
Si A{a1,a2,…,an}
Y a1 ≤ a2 ≤ … an ϵ R
Mediana (A) = 

󰇩
󰇪
La mediana es un filtro de error más bajo y elimina los picos de ruido de impulso.
g) Procesamiento en el dominio de la frecuencia
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
21
La frecuencia espacial de la imagen se mide horizontalmente, verticalmente o en
cualquier diagonal. DCT/IDCT es mejor para representar de forma compacta imágenes
muy pequeñas.
Filtro de paso bajo Butterworth:
H(u,v) =
󰇟󰇛󰇜
󰇠
Donde D0 es una cantidad específica no negativa, y D(u,v) es la
distancia del punto (u,v) al centro del rectángulo de frecuencia.
Filtro de paso bajo gaussiano (núcleo curvo de campana):
H(u,v) = 󰇛󰇜
donde D(u,v) es la distancia desde el origen de la transformada de
Fourier.
Resultados de métodos
El filtrado mejora la calidad de la imagen y la prepara para la
binarización
El filtrado de dominio espacial utiliza filtros de media, mediana
y de Wiener
2.4.1 Pre-segmentación
El estado natural de texto en documentación histórica tiene caracteres incompletos
debido a deterioro físico o borroso por antiguedad.
Estos problemas están asociados con inicialización y mala convergencia hacia
límites cóncavos de caracteres. son limitantes, se desarrolla una nueva fuerza externa
para contornos activos, que resuelve en gran medida ambos problemas. Esta fuerza
externa, se llama flujo vectorial gradiente (GVF), se calcula como una difusión del
gradiente con vectores de un mapa de borde binario o de nivel de grises derivado de la
imagen. El campo resultante tiene un gran rango de captura y fuerza los contornos
activos hacia regiones cóncavas.
Las fuerzas externas generadas a partir de la fórmula variacional deben ingresar a
la ecuación de equilibrio de fuerzas como un campo irrotacional estático, para agregar
22
flexibilidad adicional al modelo de serpiente, es posible partir del equilibrio de fuerzas,
ecuación directamente, y para reemplazar 
con otra fuerza 
:
Fint + 
= 0
El modelo de globo es un ejemplo importante de esta aproximación (Xu & Prince,
1997). La convergencia hacia regiones cóncavas es un problema en las serpientes
tradicionales, porque el contorno a menudo queda dividido en concavidades límite.
Se observa un ejemplo de este problema en la Fig. 12, se muestra un dibujo lineal
(64 64 píxeles) de un objeto en forma de U que tiene una región cóncava (visto desde
el exterior) en la parte superior de la figura, y la Fig. 12c muestra una secuencia de
curvas que representan la progresión iterativa de una serpiente tradicional (α = 0:6, β
= 0.0, sin fuerzas de presión) hacia el límite. La solución final resuelve la ecuación de
Euler de la formulación de la serpiente, pero permanece dividida la región cóncava
a) Campo de flujo de vector degradado
El enfoque general es definir un sistema no rotacional campo de fuerza
externo, que se llama campo de flujo vectorial gradiente (GVF).
Mapa de borde
Se define un mapa de bordes f (x; y) derivado de la imagen I (x; y) tiene la
propiedad de ser más grande cerca los bordes de la imagen, se utiliza:
F(x,y) = -
(x,y)
donde i = 1, 2, 3 o 4. El campo f tiene vectores que apuntan hacia los bordes,
pero tiene un rango de captura estrecho.
Fig 12: Una serpiente con potencial tradicional
las fuerzas no pueden moverse hacia el interior del
arco cóncavo
(a)
(a)
(b)
(c)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
23
Se define el campo de flujo vectorial de gradiente (GVF) como el campo
vectorial v(x, y) = (u(x, y), v(x, y)) que minimiza la energía functional:
ε = 
Esta formulación variacional sigue un principio estándar, el de hacer que el
resultado sea fluido cuando no hay datos. En particular, vemos que cuando  es
pequeña, la energía es dominada por derivadas parciales del campo vectorial, lo que
produce un campo suave. Por otro lado, cuando  es grande, el segundo término
domina el integrando y se minimiza con v = . El parámetro es un parámetro de
regularización, que rige el equilibrio entre el primer y segundo término. Este parámetro
debe configurarse de acuerdo a la cantidad de ruido presente en la imagen (a más ruido
aumenta ).
Utilizando el cálculo de variaciones, se puede demostrar que el GVF se puede
encontrar resolviendo las siguientes ecuaciones de Euler:
µ2u (u - fz)(fz2 + fy2 ) = 0
µ2v (v fy)(fz2 + fy2 ) = 0
Donde 2 es el operador laplaciano.
b) Serpiente GVF
Después de calcular v(x, y), reemplazamos la fuerza potencial -
Eext
en la
ecuación dinámica de la serpiente por v(x, y),
Xt󰇛󰇜󰇛󰇜 󰇛󰇜
A la curva paramétrica que resuelve la dinámica anterior se llama ecuación
serpiente GVF. Esta ecuación se resuelve de manera similar a la serpiente tradicional,
es decir, mediante discretización y solución iterative.
c) Campos GVF y serpientes GVF
Los cálculos de GVF externo de campo en objetos simples así como en imagen de
caracter demuestra el rendimiento de GVF serpiente. Los parámetros (para GVF) y y
(para la serpiente) se especifican en cada caso. Todas las funciones del mapa de bordes
utilizadas para calcular GVF están prenormalizadas al rango [0; 1].
Convergencia hacia una región cóncava
24
En el campo GVF para la Fig. 13a se usa µ = 0:2. Comparando el campo resultante,
mostrado en la Fig. 13b, al campo de fuerza potencial de la Fig. 12b, revela varias
diferencias clave. Primero, el GVF el campo tiene un rango de captura mucho mayor,
para llegar a este punto utilizando campos de fuerza potenciales tradicionales, uno
tendría que usar σ un filtro gaussiano grande. Pero esto tendría el efecto de difuminar
(o tal vez incluso borrar) los bordes, lo que no sucede en este caso.
La Fig. 13c muestra el resultado de aplicar una serpiente GVF con parámetros α =
0.6 y β = 0.0 al dibujo lineal que se muestra en la Fig. 13a (usando el campo GVF
externo de la Fig. 13b) en este caso, la serpiente se inicializó más lejos del objeto que
la inicialización en la Fig. 12c y, sin embargo, converge muy bien hasta el límite de la
forma de U.
2.5 SEGMENTACIÓN DE CARACTERES
Se recorre toda la imagen de izquierda a derecha y de arriba hacia abajo, y cada
vez que se encuentre un punto o pixel en la imagen con nivel de gris 0 (cero), se
considera para ser parte de un objeto, a partir del pixel negro, como centro se busca en
sus vecinos un pixel de color negro, esta búsqueda se hace en sentido de las manecillas
del reloj y comenzando desde la posición 0.
Escalamiento:
Este proceso consiste en transformar la serie de objetos (caracteres) a un tamaño
estándar, podría ser 10x10 para cada uno de los objetos. Despues de contabilizar los
pixeles en la imagen y se tiene determinada la cantidad de pixeles negros y blancos,
aplicar:
(a)
(b)
(c)
Fig 13: Una serpiente con fuerzas externas GVF.
se mueve hacia la región límite cóncava
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
25
No. pixels en x = 󰇛󰇜󰇛󰇜

Donde:
No. de pixeles en x, es la cantidad de pixeles a pintar en el eje x en la nueva imagen.
No. de pixeles en X, es la cantidad de pixeles en la imagen original en el eje x.
Total de pixeles en x, es la cantidad total de pixeles en el eje x en la nueva imagen.
Número total de pixeles en eje X, en la imagen original
2.6 EXTRACCION DE CARACTERISTICAS
La extraccion de características define la forma en la cual va a representarse cada
patron y reduce la dimensionalidad del descriptor o representante, para obtener un
buen rendimiento en la clasificacion
El conjunto de características debe cumplir las condiciones:
a) Asociar una varianza intraclase pequeña, con la que diferentes
muestras de una misma clase estarán cercanas en distancia;
b) Generar una separacion entre clases (interclase) grande, para
que las muestras de clases diferentes esten alejadas en el espacio de
características, para evitar errores de clasificacion. Se pueden utilizar:
Extractores de características direccionales: Mascaras de Kirsch
26
Análisis de Componentes Principales, metodo estadístico para
el análisis de datos, en Teoría de Comunicaciones es la Transformada
Karhunen-Loeve
La extracción de características simples basadas en intensidad y gradiente, se
realiza con funciones basadas en un operador de Sobel, en ambos casos la altura de la
las imágenes se reducen a 16 píxeles para la extracción de características.
La extracción es base para la búsqueda de un buen descriptor que permita optimizar
los resultados en la clasificacion.
2.6.1 Intensidad
Las características de intensidad usan los valores de píxeles originales de los cortes
verticales de ancho y se extienden por la diferencia del segmento actual con respecto
al segmento anterior. Para el extracción de características todas las imágenes se
reducen a una altura de 16 píxeles. Una imagen I(i, j) está representado por T vectores
de características con altura H de la siguiente manera:
T × H →
󰇛󰇜
󰇛󰇜
La función intensidad-movimiento está representada por:
󰆒

2.6.2 Funciones basadas en degradado
Estas características utilizan filtros Sobel. Estos filtros detectan bordes horizontales
y verticales, además de los valores de la horizontal y la vertical:
󰇛󰇜
󰇛󰇜
2.6.3 Reducción PCA
El número de dimensiones de características aumenta con un mayor tamaño de la
ventana deslizante, las dimensiones se reducen, utilizando el Análisis de Componentes
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
27
Principales (PCA). Resultado aceptable en varios experimentos se logra mediante una
reducción de la dimensión PCA a 30 componentes.
2.7 ENTRENAMIENTO
Se entrena el sistema para el reconocimiento del texto con la base de datos. Las
tendencias se mejoran, con estimación de la probabilidad 󰇛󰇜 por observar la
secuencia de características dada una palabra w la suma de todas las posibles
secuencias de estado tiene que ser calculado como se describe en:
p(󰇜 󰇛󰇜
Con:
󰇛󰇜󰇛󰇜

2.7.1 Modelado de caracter
El HMM utilizado asigna tres estados a cada carácter de una palabra, como posibles
movimientos de un estado para que el sistema recorra estos estados. Para influenciar
las posibilidades de transiciones, se utilizan penalizaciones de distorsión de tiempo
(TDPs)
2.7.2 Léxico
La base es el alfabeto latino con sus 26 caracteres que se pueden escribir en
mayúsculas y minúsculas. El léxico estándar contiene todos los caracteres que pueden
aparecer en un idioma los n caracteres del léxico se representan con una longitud media
de cinco píxeles por estado de carácter.
2.7.3 Criterio de entrenamiento
Para entrenar el sistema se utilizan dos enfoques: primero, un entrenamiento de
máxima verosimilitud (ML). Segundo, se utiliza enfoque discriminativo usando el
criterio de máximo modificado de formación de información mutua (M-MMI).
28
2.8 RECONOCIMIENTO
Se realiza en un solo paso utilizando los modelos entrenados. descrito en el párrafo
anterior.
Durante el reconocimiento se utilizan léxicos cerrados. El léxico contiene sólo las
entradas de las palabras que aparecen en el conjunto sobre el que se realiza el
reconocimiento(Röder, 2009).
2.9 CLASIFICACION
Los clasificadores pueden dividirse en dos grandes grupos: clasificadores
supervisados y clasificadores no supervisados.
Los clasificadores supervisados son: estadísticos, los bayesianos; clasificadores
basados en funciones discriminares lineales, el algoritmo de perceptrón; clasificadores
basado en distancias, el de vecinos más cercanos; o clasificadores sintáctico-
estadísticos, como los modelos ocultos de Markov.
En los clasificadores supervisados se realiza un entrenamiento con ejemplos, se
clasifica elementos en clases disponibles.
Los clasificadores no supervisados consisten en agrupar los elementos por sus
características similares, como por ejemplo el algoritmo de C-medias. Estos
clasificadores no requieren de un entrenamiento, pues no se conoce a priori las clases
disponibles.
Para mejora del rendimiento de reconocimiento de patrones, se utiliza estrategia
combinada.
Sea P el espacio de datos de entrada consistente en M conjuntos mútuamente
excluyentes, P = C1 . . .CM, con cada Ci , i Λ = {1, 2, . . . , M} representando un
conjunto de patrones específicos denominado clase (por ejemplo, M = 10 para el
problema de reconocimiento de caracteres). Para una muestra x extraída de P, la tarea
del clasificador consiste en asignar un índice j Λ {M + 1} como rótulo que
representa x que pertenece a la clase Cj si j ≠ M + 1, y en caso que j = M + 1 significa
que x es un patrón rechazado por e. De esta forma, consideramos al clasificador como
una función que recibe una entrada x y proporciona una salida j tal que e(x) = j.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
29
Por las salidas que producen los clasificadores individuales, se definen tres tipos
de problemas para los cuales se aplican distintas técnicas de combinación:
Tipo 1: Nivel abstracto o salida compuesta por una única clase. Dados K
clasificadores individuales ek, k = 1, . . . , K, cada uno de los cuales asigna un rótulo
jk a una entrada dada x, es decir, produce un evento ek(x) = jk, se utilizan dichos eventos
para construir un clasificador integrado E que asigna a la entrada x un rótulo definitivo
j tal que E(x) = j, j Λ M + 1.
Tipo 2: Nivel de rangos o listas categorizadas. Dada una entrada x, cada ek produce
un subconjunto Lk Λ tal que todos los rótulos en Lk forman una lista ordenada por
rango. El problema consiste en utilizar los eventos e(x) = Lk, K = 1, . . . , K para
construir un clasificador E tal que E(x) = j, j Λ {M + 1}.
Tipo 3: Nivel de mediciones. Dada una entrada x, cada ek produce un vector de
números reales Me(k) = mk(1), . . . , mk(M)T , donde mk(i) representa en que medida
ek considera que x pertenece a la clase i. El problema consiste en utilizar los eventos
e(x) = Me(k), k = 1, . . . , K, para construir un clasificador E tal que E(x) = j, j Λ
{M + 1}
Los tres tipos de problemas descriptos en su conjunto cubren un amplio espectro
de aplicaciones.
El Tipo 1, considera clasificadores individuales basados en diferentes teorías y
metodologías (uno sería un clasificador estadístico y otro un método sintáctico), el
resultado está en el nivel abstracto. Así, el Tipo 1 cubre las areas del Reconocimiento
de Patrones, siendo la categoría mas útil por su generalidad
Los métodos del Tipo 1 se usan por su simplicidad, robustez y a alta precisión en
los resultados. Por su aplicación en ICR se consideran(Seijas, 2011):
Voto por Mayoría y sus variantes
Voto por Mayoría Ponderado,
Formulación Bayesiana,
Teoría de DempsterShafer,
Y otros
30
2.10 DISEÑO BASE
Hay dos categorías principales de localización de texto en una imagen y extracción
del mismo:
Localización y extracción de texto de documentos impresos: existen métodos que
alcanzan una precisión significativas muy aceptables, una de las formas de extraer el
texto de un documento es por binarización de la imagen escaneada.
La localización y extracción de texto tiene dos categorías principales de métodos:
ventanas deslizantes y agrupación de regiones.
Para la extracción de texto se utiliza la binarización de la imagen.
2.11 OPERACIONES BÁSICAS DE RECONOCIMIENTO
El proceso de reconocimiento tiene operaciones básicas como binarización, corrección de
sesgo y segmentación:
2.11.1 BINARIZACION
Primero, la imagen de 32 bits se reduce a una profundidad de 24 bits se transforma
en una Imagen en escala de grises de 8 bits con preservación de la luminancia que se
calcula con suma de intensidad de los canales rojo, verde y azul de la imagen original:
Gris = 0,2126 × Rojo + 0,7152 × Verde + 0,0722 × Azul
Los valores de intensidad de escala de grises resultantes de píxeles individuales
oscilan entre 0 y 255. El método de umbralización de Otsu (Silva Gabriel & Dueire
Conversión a
escala de grises
Binarización
Detección de
color de fondo
Corrección de
sesgo
Segmentación
de caracter
Normalización
de forma
Extracción de
características
Clasificación de
caracter
Fig 14: Proceso de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
31
Rafael, 2010) para encontrar un valor de umbral óptimo para separar el primer plano
del fondo. La suma de las varianzas entre clases se define como
= ω0ω1󰇛󰇜
donde ω0 y ω1 son los porcentajes de píxeles de primer plano y de fondo dados por:
w0 =

w1 =

donde L es el número total de niveles de gris, k es un umbral entre las dos clases y
pi es el porcentaje de píxeles en el nivel de gris i, lo que significa que:


Los valores µ0 y µ1 son los niveles medios de clase dados por:
µ0 = 

µ1 = 

El valor umbral óptimo que maximiza se encuentra realizando una búsqueda
secuencial sobre los niveles del histograma
2.11.2 CORRECCION DE SESGO
La desviación de la nea de base del texto desde el eje horizontal, se denomina
sesgo, el que se corrige rotando el texto. La segmentación y el proceso de
reconocimiento de caracteres falla, si el texto es significativamente sesgado. Para
corregir, se detecta el ángulo de inclinación del texto y se rota el texto para que esté
alineado con el eje horizontal. El método de transformación de radon propuesto por
Aithal, se aplica para detectar el ángulo de inclinación (Zdeněk, 2014).
32
Fig 15: Proceso de corrección de sesgo
La función de transformada Radon calcula proyecciones de una matriz de imagen
a lo largo de direcciones específicas. El algoritmo se explica con una fuente de haces
paralelos que se emiten hacia la matriz de la imagen y su proyección es registrada por
una línea de sensor detrás de la matriz de imagen, que es perpendicular a los haces. el
código de Matlab:
Input: R
maximum ←− 0;
skewAngle ←− 0;
for i ←− 1 to 180 do
for j ←− 1 to diagimg do
if R[i][j] > maximum then
maximum ←− R[i][j];
skewAngle ←− i;
end
end
end
skewAngle ←− -(skewAngle - 90);
2.11.3 SEGMENTACION
Divide la imagen de entrada en regiones candidatas, luego se extrae características
para cada región candidata, finalmente, cada región se clasifica utilizando regresión
logística del texto, se obtiene imagen en escala de grises.
2.12 TESSERACT
El reconocedor de línea de texto Tesseract sistema OCR de Hewlett and Packard
(HP) de código Abierto, utiliza una comparación de dos etapas entre el carácter
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
33
prototipo con formas y caracteres de entrada, integra la segmentación de la imagen de
entrada con caracteres reconocidos, utilizando backtrack.
Las tasas de error de reconocimiento de caracteres de Tesseract es menor
comparado con otros sistemas, cada vez mejor, reconoce variantes de escritura latina.
Tesseract devuelve "puntuaciones de coincidencia" calcula un gráfico de
segmentación completo como entrada. Ambos factores limitan la capacidad de usar
Tesseract con los modelos estadísticos de lenguaje natural.
2.13 PROCESO INTERMEDIO
Las representaciones intermedias son imágenes, colecciones de imágenes, el
resultado final del sistema está en formato HTML4 y CSS3 estándar con etiquetas DIV
y SPAN es codificación de información específica de ICR
Linea OCR
Entrada
Binarización
Página
segmentada
Lista de imágenes
de línea
Imágen de línea
Imágen de línea
segmentada
Hipótesis de
caracter
Probabilidades
posteriores
Red de
hipótesis
Mejores
cadenas
Salida ICR
Modelo de
lenguaje
Gráfico de
segmentación
Fig 16: Proceso Intermedio
34
2.14 ALFABETO LATINO CON 26 CARACTERES EN MAYÚSCULAS Y
MINÚSCULAS PARA RECONOCIMIENTO DE PATRONES
La arquitectura de Sistema propuesto está constituido por cuatro módulos;
adquisición de imagen, tratamiento de imagen, reconocimiento e interpretación de
imagen. El bloque de adquisición de imagen considera un escáner, o una cámara
digital, que funcionan como una interfaz con la que la imagen es adquirida para el
posterior análisis efectuado por el sistema de cómputo. El bloque de tratamiento de la
imagen consiste de seis procesos por los que pasa la imagen: umbralización,
eliminación de información no necesaria (ruido), detección del área del caracter,
segmentación del caracter, conversión de la imagen a ceros y unos, y por último la
compresión de la imagen a una matriz propuesta de 10x10 pixeles, que será la entrada
a un conjunto de redes neuronales artificiales.
El bloque del reconocimiento de los caracteres, resuelve con redes neuronales
artificiales, con un perceptrón multicapa entrenado por el algoritmo de
retropropagación.
Un tipo de enfoque discriminativo es el uso de redes neuronales, otro enfoque
discriminatorio es el Máximo Modificado de Información Mutua (MMMI)
Suavizado
Limpieza
Mejora
Pre-segmentacn
Etapa de post-proceso
Forma Entrada
Escáner
Conversión
imagen color/gris
a imagen binaria
Detección y
corrección de
sesgo
Reconocimiento
de caracter
Análisis de
vecino cercano
Resultado final
de caracteres
Etapa de Pre-proceso
Fig 17: Proceso de Reconocimiento por etapas
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
35
Un pixel con nivel de gris inferior a 14, como valor de umbral está etiquetado como
impresión (negro), de lo contrario fondo (blanco).
Fig 18: Segmentación
Después del proceso de pre-segmentación, se tiene claro los caracteres a reconocer.
Los dos modulos principales: un módulo encargado de la extracción de características
y el otro dedicado a la clasificacion:
Fig 19: Limpieza
El reconocimiento de caracteres considera los pasos:
Separación de caracteres
Normalización.
Adelgazamiento.
Determinación de puntos singulares.
Formación de grillas.
Detección de línea.
Reconocimiento de caracteres.
Pre-procesamiento
Medición de
características
Clasificación
Pre-procesamiento
Extracción y
selección
características
Aprendizaje
Patrones de
testeo
Patrones de
Entrenamiento
Fig 20: Modelo de proceso de reconocimiento y aprendizaje
36
Los complementos en el reconocimiento de caracteres antiguos, es el tratamiento
de patrones deteriorados y expresiones semánticas válidas, se analisa errores
cometidos por múltiples clasificadores para el problema del reconocimiento de dígitos
manuscritos. Se identifican tres categorías posibles de causas de error en la
clasificacion de los datos:
Categoría 1: son imagenes de caracteres que se confunden cilmente con patrones
de otras clases debido a la similitud de sus características primitivas y estructura. Hay
pares de caracteres que son más fáciles de confundir que otros, como los patrones de
las clases 4 y 9, 0 y 6, 3 y 5, 0 y O, y otros.
Categoría 2: son imágenes de caracteres que son difíciles de identificar debido a
ruido en la imagen, deformaciones o mala segmentacion del carácter, entre otras
causas. Por ejemplo, la distorsión y degradación de la imagen podría tener origen en
el grosor por el instrumento de escritura utilizado, al tamano elegido para normalizar
las imágenes, el tipo de escritura no convencional de algunas personas.
Categoría 3: son imágenes de caracteres que son fácilmente clasificables sin
ninguna ambiguedad, son claras y deben ser bien clasificadas
El algoritmo del sistema de clasificación con aprendizaje optimiza el costo:
Biología
Ciencias de la
Computación
Biología
Evolutiva
Inteligencia
Artificial
Aprendizaje de
máquina
Computación
Evolutiva
Algoritmo
Evolutivo
Algoritmo
Genético
Aprendizaje
reforzado
Aprendizaje
supervisado
Sistema
clasificador de
aprendizaje
Fig 21:Sistema de reconocimiento con aprendizaje
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
37
Un LCS tiene cuatro componentes:
Población finita de clasificadores que representa el conocimiento actual
del sistema.
Componente de Desempeño, que regula la interacción entre el entorno.
Componente Reforzado llamado de cesión de créditos, que distribuye
recompensa del entorno al clasificador.
Componente de descubrimiento, utiliza diferentes operadores para
descubrir normas y mejorar las existentes.
2.15 CONFORMACION DE DATOS
Tensor es una entidad algebraica de un conjunto de componentes, que generaliza
conceptos de escalar, vector o matriz como tensores de distinto orden. El orden de un
tensor será el número de índices necesario para especificar sin ambigüedad cada uno
de sus componentes:
Entidad Matemática
Ejemplo
Tensor de orden 0, escalar
288
Tensor de orden 1, vector
[2.58 25.89 58.87]
Tensor de orden 2, matriz
  
  
  
Tensor de orden 3, cubo de
elementos
Tensor de orden N
Tabla 1: Tipos de tensor
Un tensor de orden es una matriz multidimensional de dimensiones  × 1
× × 1 compuesta de elementos que son referidos como 0,1,…,1 , desde 0,1,…,n
hasta 0−1,1−1,…,t1
38
2.16 REDES NEURONALES
Modelo matemático tiene elementos simples, nodos o neuronas, interconectados
para procesar y transmitir señales de una forma dirigida. Las arquitecturas para DL,
las ANNs están formadas por varias capas de neuronas que están en paralelo y
propagan la señal desde una capa de entrada a una capa de salida atravesando varias
capas ocultas, con una dirección posible de transmisión de la información (se llaman
Redes Feedforward)
Fig 22: Redes de avance feedforward
La neurona tiene pesos asociados a cada entrada, un umbral propio de cada
neurona, y una función de activación que genera una salida a partir de un agregado de
las entradas recibidas.
Formalmente se expresa la llamada función de transferencia como:
1
= (, , ) = ( ∑ , +
=0
W0
W1

Ʃ
ƒ
Axón
X0
X1

Sinapsis
Dendritas
Cuerpo
Cuello
del axón
Entradas
Pesos
b
Sumatorio y umbral
Función de
activación
Axón
Salida
Fig 23: Neuronas artificiales
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
39
Donde es el conjunto de entradas [0, 1, , 1 ] , los valores W, son los
pesos asociados a cada entrada X de la neurona que forman el conjunto  , y  es
el llamado umbral o bias, que actúa sobre la neurona y es independiente de las entradas
(y del resto de neuronas, si las hubiera). Entonces, una función de activación
representada con , que se considera derivable y no lineal para adaptarse a un número
mayor de problemas.
El resultado de este tipo de topologías, donde la salida de la capa es la entrada de
la capa + 1 tal y, se puede expresar como:
= ( , , )
= (1 , , )
1 = (2 ,1 ,1 )
0 = (, 0 , 0 )
Donde ′ , y representan, respectivamente, la salida del sistema, los pesos,
y los bias asociados a la capa de salida, mientras que , , representan,
respectivamente, la salida, los pesos, y los bias de la capa , siendo el número total
de capas ocultas


yk = φ(uk + bk)
Bias
bk
Wk1
WK2
Ʃ
X1
X2
Φ(.)
Wkm
Xm
Salida
Yk
b
Union de Suma
Pesos
sinápticos
Entradas
Función de
activación
Vk
Fig 24: Gráfica de Red Neuronal
40
Donde x1, x2, …, xm son las señales de entrada; wk1, wk2, …, wkm son los pesos
sinápticos de la neurona k; u es la combinación lineal o suma de las entradas
multiplicadas por los pesos sinápticos; bk es el valor límite, o bias, de la neurona k, es
la función de activación, y yk es la señal de salida de la neurona
Las neuronas Sigmoide, son similares a las Perceptrón su propósito es obtener un
cambio en la salida, si se aplican cambios pequeños en los pesos y en el bias.
La neurona sigmoide tiene entradas x1, x2, …, xm, pero en vez de tener valores de
0 ó 1, puede tomar valores reales entre 0 y 1. Igual que el perceptrón, la neurona
sigmoide tiene pesos definidos para las entradas w1, w2, …, wm y un valor límite b (o
bias); pero la salida no es solamente 0 ó 1, y el resultado de una función sigmoide que
tiene la siguiente función de activación:
󰇛󰇜

De manera explicita:
󰇛󰇜
󰇛󰌣󰇜
Se genera una función suavizada:
Fig 25: Función de activación de neurona sigmoide
La función de activación Sigmoide es la más utilizada, existen otras que presentan
una función continua y suavizada, definida y derivable en el intervalo de sus entradas
y se utilizan en redes neuronales, con otros modelos matemáticos: tangente
hiperbólica, Gudermann y otros.
2.16.1 PROCESO DE APRENDIZAJE
Para cuantificar el logro de meta, se define la función de costo:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
41
󰇛󰇜
󰇛󰇜
Donde w denota la colección de pesos en la toda la red, b todos los bias, n es el
número total de valores de entrada de entrenamiento, a es el vector de salida de la red
cuando x es la entrada, y la suma es realizada sobre todas las entradas de entrenamiento
x. El objetivo del algoritmo de entrenamiento es minimizar el costo C(w,b) como una
función de pesos y bias. Se debe encontrar un conjunto de pesos y bias que haga que
el costo sea el menor posible.
Para esto se utiliza el algoritmo descenso de gradiente. La función de costo se
ejecuta con “back propagation”
Retropropagación
Es un algoritmo de aprendizaje de redes neuronales, y provee información del
efecto de los cambios en los pesos en el comportamiento de la red
El algoritmo de optimización y aprendizaje, back-propagation (o retro
propagación), se construye con los valores de error obtenidos al realizar el cálculo para
entrada a la red neuronal, con el valor real esperado ej(n) = dj(n) yj(n).
Con el error de neuronas de salida, se obtiene el valor del gradiente local para cada
neurona mediante la ecuación δj(n)=ej(n)φj(vj(n)), y a partir de este se definen ajustes
necesarios a pesos Δwji(n) = ηδj(n).yi(n)
El valor de error en cada neurona, y los gradientes son propagados hacia atrás desde
la capa de salida hacia las capas ocultas; se realiza el cálculo desde los valores
obtenidos de las neuronas posteriores
Para los valores a ajustar en pesos de cada capa, y en el procesamiento y
entrenamiento general de una red neuronal, están las ecuaciones:
uk(n) = 󰌣
󰇛󰇜󰇛󰇜 Umbral de activación de la neurona
vk(n) = uk(n) + bk(n) Campo local inducido
yk(n) = φ(uk(n) + bk(n)) Señal de salida de la neurona
φ(z) =
 Función de activación Sigmoide
yk(vk(n)) =
󰇛󰇜 Señal de salida de la neurona Sigmoide
42
ej(n) = dj(n) yj(n) Señal de error de la neurona de salida
ej(n) = 󰌣󰇛󰇜󰇛󰇜 Señal de error de la neurona oculta
δj(n) =ej(n)φj(vj(n)) Gradiente local para neuronas de salida
δj(n) = 󰇛󰇛󰇜󰇜󰌣󰇛󰇜󰇛󰇜 Gradiente local para neuronas ocultas
Δwji(n) = η.δj(n).yi(n) Ajuste al peso entre neuronas i y j
Δbj(n) = η.δj(n) Ajuste al bias de la neurona j
η Constante “Taza de aprendizaje”
wkj(n + 1) = wkj(n + 1) + Δwji(n) Nuevo peso entre neuronas k y j
φj(vj(n)) = yj(n) [1 yj(n)] Derivada de función Sigmoide
Las etapas del entrenamiento para una Red Neuronal son:
1. Resultado de la red para cada neurona desde inicio hasta fin
Calcular. yk(n) = φ(uk(n) + bk(n))
2. Función de costo para determinar el límite del entrenamiento
C(w,b)
 󰇛󰇜
3. Para cada neurona desde la capa de salida hacia atrás
Calcular el error: ej(n) = dj(n) yj(n) para cada neurona
Calcular el gradiente local: δj(n) = ej(n) φj(vj(n))
4. Para cada neurona calcular el cambio en los pesos
Wkj(n+1) = wkj(n+1) + Δwji(n)
2.16.2 PERCEPTRON MULTICAPA
El nodo o neurona como capa esta conectado con nodos o capas previa y siguiente.
Las capas de neuronas de este tipo de redes son: la capa de unidades de entrada, una o
varias capas ocultas, y la capa de unidades de salida. Durante la etapa de
entrenamiento, los pesos asociados se modifican para que la red neuronal aprenda”.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
43
El algoritmo de aprendizaje de Retropropagacion hacia atras o Backpropagation (BP),
utiliza la técnica de descenso por gradiente para hallar el nimo de la función de costo
que mide el error del sistema como función diferenciable de los pesos
Por cada iteración o tiempo t, se define:
wij sinapsis que conecta a la neurona i de la capa m con la neurona j de la capa m
− 1
υi 
 entrada neta a la neurona i donde J incluye a todas las
neuronas de la capa anterior a la de la neurona i
yi = φi) salida de la neurona i, donde φ es la funcion de activacion. Si yi esta en
la capa de entrada de la red entonces toma los valores del patrón ingresado.
ζi salida esperada en la neurona i (cada patrón está rotulado por el algoritmo del
paradigma de Aprendizaje Supervisado)
Oi salida real para la neurona i
E(t) =
󰇛󰇜
 donde ζ incluye a las neuronas de la capa de salida de la
red, es error cuadrático medio en la iteración t
La función de costo queda determinada por:
󰇛󰇜
󰇛󰇜

El perceptrón multicapa red neuronal resuelve el problema que no es linealmente
separable, principal limitación del algoritmo de perceptrón. La red Stuttgart Neural
Network Simulator simula la red y se entrena con el algoritmo de backpropagation y
un factor de aprendizaje de 0.1. Se utiliza una red con una capa de entrada, una capa
oculta y una capa de salida.
2.17 RED NEURONAL CONVOLUCIONAL
La red CNN se utiliza en el reconocimiento de patrones con información visual de
objetos estáticos y en movimiento, su contexto son elementos de un tensor de entrada
y el valor, la posición y las vecindades de cada uno. Las convoluciones son entre el
tensor de entrada y tensores de la red, son filtros
44
Tensor, como núcleo de convolución, realiza operaciones en fragmentos de un
tensor de entrada. Los tensores comparten el mismo orden y las porciones son
subtensores de las mismas dimensiones que el núcleo de convolución. Entonces, para
la convolución se requiere una entrada, un núcleo de convolución y algún parámetro
que configure los subtensores.
Se tiene a la entrada y núcleo, ambos de orden y dimensiones 0 × 1 ×
× 1 y 0 × 1 × × 1 , respectivamente. Y un último parámetro que
determine la selección de los subtensores, se declara un tensor de paso , de orden 1,
dimensión y valores [0, 1, … , 1] enteros y positivos
En una convolución se cumple la relación entre dimensiones de entrada y del
núcleo:
,  [0,1, … , 1]
Se calcula la convolución para obtener:
=
01 11 1
0, 1,…, 1 = ∑ … ∑ 0, 1,…, 1 00+0, 11+1,…, 11+1
0=0 1=0 =0
El tensor resultante de la convolución tiene el mismo orden que y , sus
dimensiones se determinan así:
 =  ( ( )/ + 1 )
Donde (·) es una función que extrae la parte entera y se define como:
() = { ℤ | }
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
45
Fig 26: Dimensiones de tensor resultante de convolución
Fig 27: Abstracción de una capa aislada
2.18 RED NEURONAL RECURRENTE (RNN)
Son redes neuronales con ciclos entre las interconexiones de sus neuronas. Estos
ciclos trabajan normalmente con secuencias temporales, capaces de descubrir
regularidades y patrones.
Fig 28: Topologías recurrentes y representación de una neurona aislada
46
La salida de la RNN en el instante depende de su comportamiento en etapas
anteriores, tiene resultado una función dinámica en el tiempo:
2.19 MODELOS DE MARKOV DE CAPA OCULTA: HMMS
La diferencia entre un HMM y una cadena de Markov, es que cada estado de la
cadena de Markov está asociado en forma determinista a valor de observación de salida
único; en un HMM cada estado se asocia a una probabilidad de distribución de los
posibles valores de observación de salida.
Un HMM es una máquina de estados finitos en que interactúan entre dos
procesos estocásticos bien definidos: uno de ellos permanece inobservable (o nombre
de capa oculta) y actúa en segundo plano por detrás del otro (observable) que produce
efectivamente la secuencia de observaciones de salida (Rabaev et al., n.d.). El proceso
oculto involucra un conjunto de estados conectados entre sí por medio de transiciones
con probabilidades; y el proceso observable consta de un conjunto de observaciones
de salida, cada una éstas puede ser emitida por los estados según función de
probabilidad asociada a cada uno de ellos.
2.19.1 Definición de HMM continuo
Los vectores se emiten solo en los estados destino y no en transiciones. Se
determina un estado inicial único del HMM en el que no se emite ningún vector, de
igual forma que el estado final. Formalmente un HMM (continuo) M es una máquina
de estados finitos definida por la séxtupla (Q, I, F, X, a, b), donde:
Q conjunto finito de estados, que incluye el estado inicial I Q y un estado final
F Q.
X espacio real d-dimensional de observaciones: X Rd.
H(t)
H(0)
H(1)
H(2)
H(3)
Capa
RNN
Capa
RNN
Capa
RNN
Capa
RNN
Capa
RNN
󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜
󰇛󰇜
󰇛󰇜
󰇛󰇜
=
Fig 29: Función dinámica en el tiempo
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
47
a : (Q {F}) × (Q {I}) [0, 1] función de distribución de probabilidad de
transición entre estados, tal que:
󰇛󰇜󰇛󰇝󰇞󰇜
󰇛󰇝󰇞󰇜
b : (Q {I, F}) × X [0, 1] función de densidad de probabilidad de emitir un
vector xX en un estado qiQ, tal que:
󰇛󰇜󰇛󰇝󰇞󰇜

En la definición de HMM dada, hay implícitos dos supuestos:
a(qi , qj ) = P(zt+1 =qj |zt =qi) indica que la probabilidad de una cadena de Markov
es un estado qj en t+1 que depende del estado qi de la cadena de Markov en el tiempo
t, y no depende de los estados visitados anteriormente en tiempos menores que t.
Entonces:
P(zt+1|z1 . . . zt) = P(zt+1|zt)
b(qi , x) = p(xt = x|zt = qi) indica que la probabilidad de que x sea generada en el
tiempo t depende solo del estado qi en el tiempo t, y no depende ni de los vectores
emitidos ni de los estados visitados anteriormente en tiempos menores que t. Entonces:
p(xt |x1 . . . xt , z1 . . . zt) = p(xt |zt)
Estos dos supuestos definen lo que se denomina un HMM de primer orden
2.19.2 Probabilidad de emisión
Sea x = (x1 x2 . . . xT ) con xi Rd una secuencia finita de vectores reales y sea
Z = {z = (z1 z2 . . . zT ) : zk = qi (Q {I, F}), 1 ≤ i ≤ |Q|−2} un conjunto de secuencias
de derivación de estados asociadas con la secuencia de símbolos x. Entonces la
probabilidad que la cadena x sea generada por el modelo M es:
48
󰇛󰇜󰇛
 󰇜󰇛󰇜󰇛󰇜

donde z0 es igual al estado inicial I: z0 = I
La notación será la siguiente:
ϻ conjunto de todos los parámetros que definen un HMM
N número de estados del modelo excluyendo el inicial: N = |Q|−1 donde Q el
conjunto de estados: Q = {q0 =I, q1, . . . , qN−1, qN =F}
M número de componentes de la mixtura de Gaussianas de cada estado
C número de modelos de la secuencia de HMMs concatenados
Nc número de estados del b-ésimo modelo de la secuencia de HMMs concatenados
x una secuencia de vectores reales (observaciones)
T número de vectores de la secuencia
xt un vector de la secuencia x en el tiempo t: xtd 1 ≤ t ≤ T
aij probabilidad de transición del estado qi al estado qj : aij ≡a(qi , qj )
bi(x) probabilidad de emisión del vector x en el estado qi : bi(x) ≡ b(qi , x)
cjm coeficiente de peso de la componente de mixtura m del estado qj
µjm vector de medias para la componente de mixtura m del estado qj
Σjm matriz de covarianza para la componente de mixtura m del estado qj
El modo de probabilidades de emisión de vectores xtd en cada estado del HMM,
se utiliza una mixtura de densidades de Gauss. En este caso la función bj (xt) es definida
como:
󰇛󰇜󰇛
 󰇜
Donde: 󰇛󰇜
󰇛󰇜󰌣󰇛󰇜󰌣
󰇛󰇜
Se cumple que: 󰌣

Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
49
2.20 INTEGRACION DE RECURSOS
Son un proceso secuencial para obtener el reconocimiento de caracteres:
2.21 PROCESO DE RECONOCIMIENTO DE CARACTERES
Los cuatro módulos del reconocimiento:
Preproceso para reducir ruido y normalizar atributos de estilo.
Extracción de características: los caracteres son vectores.
Entrenamiento de modelos formales: valores parámetros supervisado
Reconocimiento: las secuencias de vectores de características:
Ximagen
5x
AEC
ARB
ARD
CTC
Ysec
Ysec
-In(p(Ysec|Ximagen))
LER
R
Fig 30: Proceso secuencia de reconocimiento y componentes
Imágenes de
caracteres
Preproceso y
Normalización
Imágenes
caracteres
Normalizados
Extracción de
Características
Secuencias de
vectores
características
Entrenamiento de
modelos (HMM)
Reconocimiento
Modelos HMM
(Parámetros)
Caracteres
reconocidos
Conjunto de
entrenamiento
Conjunto
de test
Fig 31: Diagrama de proceso de reconocimiento
50
2.22 POST-PROCESO
La precisión de ICR se puede mejorar si la salida se restringe por un léxico: una
lista de palabras, por ejemplo, las palabras del idioma español, o un léxico más técnico
para un campo específico. Esta técnica puede ser problemática si el documento
contiene palabras que no están en el léxico, como los nombres propios. Tesseract
utiliza su diccionario para influir en el paso de segmentación de caracteres, para
mejorar la precision.
Los algoritmos de corrección de texto tienen como objetivos: detectar y corregir,
ya sea de forma automática o interactiva, los errores de redacción generados por los
humanos; esto con el fin de aumentar la calidad de los textos(Moyotl-Hernández, n.d.).
En éste trabajo el uso es la mejora de reconocimiento de texto de origen histórico,
considerando que una palabra es correcta si se está en el diccionario, de lo contrario se
considera error, para este trabajo la composición del diccionario se hizo con el Corpus
de Referencia del Español Actual (CESS_ESP).
2.22.1 Sistemas de Diálogo
Un sistema de diálogo, responde a la entrada de texto de un usuario, funciona de
forma natural que poda no distinguirse de una respuesta generada por humanos.
Las características del lenguaje permiten se agrupen de diferentes formas, entonces
la morfología se refiere a la forma y estructura interna de las palabras, el léxico se
Análisis de
habla
Análisis
morfológic
o y léxico
Análisis Razonamien
to contextual
razonamiento
y ejecución de
aplicaciones
Planificación
de enunciados
Realización
sintáctica
Realización
morfológica
Sintesis del
habla
Modelo de
pronunciación
Reglas
morfológica
s
Léxico y
gramática
Contexto de
disurso
Conocimiento
de dominio
Fonología
Morfología
Sintáxis
Semántica
Razonamiento
Fig 32: Sistema de diálogo
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
51
refiere a la segmentación del texto y las palabras en grupos significativos como
palabras, es importante el léxico en la aplicación del NLP.
La sintaxis es el conjunto de reglas para formar oraciones, la semántica, se refiere
a las relaciones existentes entra las oraciones para construir un significado superior.
2.22.2 Corrector ortográfico
Se utilizan categorías de datos como inserción, eliminación, transposición y
sustitución, cada categoría representa tipos específicos de errores del texto;
a) Eliminación
Se utiliza un algoritmo para eliminar caracteres de palabras incorrectas. Antes de
agregar el término creado a la lista de ideas, el algoritmo elimina un carácter de la
palabra y verifica su exactitud, para cada letra de la palabra, se repite el procedimiento.
b) Inserción
Corrige errores tipográficos en palabras que tienen un carácter faltante, coloca una
letra del alfabeto en el lugar donde ocurrió el error y luego verifica que la palabra
resultante sea correcta antes de agregarla a la lista de posibles palabras.
c. Sustitución
El algoritmo de sustitución toma una palabra y sustituye una letra por otra en el
alfabeto, luego comprueba si la palabra resultante tiene sentido antes de añadirla a la
lista de sugerencias.
d. Transposición
Se cambia una sola letra de una palabra insertándola en todas las demás posiciones,
para añadir la palabra a la lista de recomendaciones, verifica su precision, el
procedimiento se repite una vez más para cada letra de la palabra(Kusuma & Ratnasari,
2023).
D[][]=[1][]+1
D[][]=[][1]+1
D[][]=[1][1]+(,)
D[][]=[2][2]+1
52
Se muestra cómo calcular la distancia de edición entre dos cadenas. [][], se
refiere a las celdas de la matriz dinámica del algoritmo de distancia de edición, i,
representa la fila de la matriz y representa la columna de la matriz.
La corrección(w) elige la corrección ortográfica más probable para w, La que no
tiene seguridad en los resultados (por ejemplo, ¿debería corregirse "tardes" a "tarde" o
"tardío" o "tarde" o...?), lo que sugiere que usemos probabilidades. Se trata de
encontrar la corrección c, entre todas las posibles correcciones candidatas, que
maximice la probabilidad de que c sea la corrección deseada, dada la palabra original
w:(Daniel & Martin, 2024)
argmaxc ε candidate P(c/w)
Por Bayes es equivalente a:
argmaxc ε candidate P(c) P(w/c)/P(w)
Dado que P(w) es el mismo para cada posible candidato c, podemos factorizar:
argmaxc ε candidate P(c) P(w/c)
Las cuatro partes de esta expresión son:
a) Mecanismo de selección: argmax
Elegimos al candidato con la mayor probabilidad combinada.
b) Modelo candidato: c candidatos
Indica que la corrección a considerar es c,.
c) Modelo de lenguaje: P(c)
La probabilidad de que c aparezca como una palabra de un texto, por ejemplo, las
apariciones de "la" constituyen aproximadamente el 7% del texto en español, por lo
que deberíamos tener P(la) = 0,07.
d) Modelo de error: P(w|c)
La probabilidad de que w sea parte del texto cuando se quiso decir c, por ejemplo,
P(lal|la) es relativamente alto, pero P(lalll/la) sería muy bajo.
Algunas cuestiones:
¿por qué tomar una expresión simple como P(c|w) y reemplazarla con una
expresión más compleja que incluya dos modelos en lugar de uno?
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
53
Es que P(c|w) ya está combinando dos factores, y es más fácil separarlos y tratarlos
explícitamente.
Considere la palabra mal escrita w="lal" y las dos correcciones candidatas c="la"
y c="lall", ¿Cuál tiene una mayor P(c|w)?
Bueno, "descongelar" parece bueno porque el único cambio es "a" a "e", lo cual es
un pequeño cambio, por otro lado, "la" parece bueno porque "la" es una palabra muy
común, para estimar P(c|w) tenemos que considerar tanto la probabilidad de c como la
probabilidad del cambio de c a w, por lo que, es mejor separar formalmente los dos
factores
Los aspectos clave de un sistema de corrección ortográfica, pueden ser:
Fuera de línea, antes de realizar cualquier consulta:
Fichas de indexación, construyendo el índice utilizado en el momento de la
consulta para la generación de candidatos.
Construyendo un modelo de lenguaje, calcular el modelo para estimar la
probabilidad a priori de una consulta prevista.
Construyendo un modelo de error, calcular el modelo para estimar la probabilidad
de un error ortográfico particular, dada una consulta prevista.
En el momento de la consulta:
Generación de candidatos, se identifica los candidatos a corrección ortográfica para
la consulta.
Tanteo, se calcula la puntuación o probabilidad de cada candidato.
Presentar sugerencias, se determina si y cómo presentar una corrección ortográfica.
2.22.3 Fichas de indexación
La indexación para la corrección ortográfica es un poco diferente a la de la
recuperación de documentos, su estructura de datos fundamental para la recuperación
de documentos es un índice invertido (también conocido como lista de publicaciones)
que asigna tokens a documentos.
La mayoría de los tokens mal escritos difieren de los tokens previstos en unos
pocos caracteres como máximo (es decir, una pequeña distancia de edición), un índice
54
para la coincidencia aproximada de cadenas permite el descubrimiento de estos cuasi
accidentes mediante la recuperación de cadenas (en nuestro caso, tokens) por sus
subcadenas. Se genera este índice identificando los tokens únicos en el corpus,
iterándolos e insertando las asignaciones apropiadas de subcadena a cadena en un
índice de subcadena, como un índice de n-gramas o un árbol de sufijos. (Elmi & Evens,
1998)
Para obtener la lista de alternativas en el caso de que la palabra sea errónea, el
corrector buscará en el diccionario las palabras que se obtengan a partir de la palabra
incorrecta mediante las operaciones elementales de caracteres: inserción, borrado,
sustitución o transposición, las operaciones permitidas en la distancia Damerau-
Levenshtein. A diferencia del modelo original, el método propuesto asigna diferentes
pesos a las operaciones de acuerdo con la frecuencia de las letras en español
2.22.4 Distancia de edición
La medida básica utilizada para calcular la similitud entre palabras es la distancia
de edición también conocida como distancia de Levenshtein. El algoritmo cuenta la
cantidad de operaciones requeridas para convertir una cadena de caracteres en otra.
La respuesta de este algoritmo es un valor numérico. Ejemplo, la distancia entre
vegddy verdades 2, porque se requierenn dos operaciones para transformar una
palabra en otra: 1. vegdd > verdad (sustituir la gpor r’) 2. verdd > verdad
(insertar la ‘a’).
El 80% de los errores ortográficos corrresponde a palabras erróneas con distancia
de edición igual a uno comparado a la palabra original. Es decir, el 80% de los errores
son de caracter tipográfico y se encuentran en una de las cuatro categorías de error
descritas.
Al término de las transformaciones de palabra mal reconocida, cada una de ellas se
busca en el diccionario y las palabras que se encuentren en ´el se agregan a la lista de
alternativas. La mejor sugerencia de corrección será la de menor distancia a la palabra
errónea
El idioma español cuyo alfabeto se compone de 27 letras: a, b, c, d, e, f, g, h, i, j,
k, l, m, n, ˜n, o, p, q, r, s, t, u, v, w, x, y, z ; una palabra de longitud n produce: n
eliminaciones, n−1 transposiciones, 26n sustituciones y 26(n+1) inserciones lo que da
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
55
un total de 54n+25 palabras generadas. De este conjunto de palabras solo un pequeño
número serán palabras reales presentes en el diccionario.
2.22.5 Componente propuesto
Una propuesta es modificar el algoritmo de Levenshtein, con asignación de
operaciones de edición y costos basados en la frecuencia de letras en las palabras. Esta
ponderación intenta maximizar la distancia entre w y ci , el error y la corrección; esto
es cuando es poco probable en el vocabulario del español.
La modificación es en costo de operaciones de inserción y sustitución, de modo
que los costos de las operaciones son los siguientes:
Costo de inserción y sustitución: si el caracter es el más frecuente entonces el
costo de la operación es el mínimo, en caso contrario el costo se incrementa.
Costo de eliminación y transposición: el costo es uno para cualquier caracter.
Fig 33: Frecuencia de aparición de letras en español
https://es.wikipedia.org/wiki/Frecuencia_de_aparici%C3%B3n_de_letras
2.22.6 Clases Semánticas de CESS-ESP: Anotación Semántica
Los corpus anotados constituyen un recurso crucial para adquirir o inducir conocimientos
lingüísticos, Este conocimiento es sobre cómo se utilizan las lenguas. Los corpus etiquetados
son un recurso para la computación y análisis lingüístico de los lenguajes. CESS-ESP se centra
en clases semánticas verbales que determinan el mapeo entre funciones sintácticas y roles
semánticos (Taulé & Martí M A, n.d.).
En las estructuras semánticas léxicas (LSS), se consideran cuatro estructuras principales
que corresponden a los cuatro eventos de clases ontológicas, los que son, estados, actividades
(o procesos), resultados y logros:
a) [x <STATE> ]
b) [x ACT<MANNER/INSTRUMENT> y]
c) [x CAUSE [BECOME [y<STATE/THING/PLACE> ]]]
d) [BECOME [y<STATE> ]]
56
Ejemplo, los predicados definidos como logros (LSS (c)) permiten diátesis causativa,
anticausativa y resultante, que se centran en la primitivas CAUSA, CONVERTIRSE,
ESTADO:
abrir: [x CAUSA [CONVERTIRSE en [y <ESTADO>]]]
Juan abre la puerta: [Juan CAUSA [CONVERTIRSE [puerta <OPEN>]]]
(Causante)
'Juan abre la puerta'
La puerta se abre: [x CAUSA [CONVERTIRSE en [puerta <OPEN>]]]
(Anticausativo)
'La puerta se abre'
La puerta está abierta: [x CAUSA [CONVERTIRSE [puerta <OPEN>]]]
(Resultativo)
'La puerta está abierta'
El LSS en (a) corresponde al estado de clase ontológico, con solo un entidad
involucrada en el evento, y se centra en el estado. En LSS (b) corresponde a actividades
o procesos, se presenta sujetos agentes y permite construcciones pasivas, en la LSS (c)
se refiere a logros estados resultantes en procesos de causas externas con un sujeto
causante y, la LSS (d) son logros que se refieren a un estado resultante en procesos sin
intervención externa.
2.22.7 ANALISIS SINTACTICO
Un analizador de lenguaje natural resuelve la estructura gramatical de las
oraciones, por ejemplo, qué grupos de palabras van juntas (como "frases") y qué
palabras son el sujeto o el objeto de un verbo. Los analizadores probabilísticos utilizan
el conocimiento del lenguaje obtenido a partir de oraciones analizadas a mano para
tratar de producir el análisis más probable de nuevas oraciones. Estos analizadores
estadísticos tienen algunos errores, pero en general funcionan bien(Guerrero Alejandra
& Silva, n.d.).
Extracción de palabras clave usando hipégrafos:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
57
Fig 34: Proceso de extracción de palabras con hipégrafos
El proceso de extracción de palabras clave:
58
Inicio
Ingrese
archivo
Entrada de
datos
(Corpus)
Deteccióm
idioma NLTK
Está en
Español
Preprocesamiento
de texto
Análisis de Texto
Generación matriz
de incidencia
Conteo de
incidencia de
hiperaristas
Análisis de matriz
de incidencia
Palabras
clave de
algoritmo
Análizar texto
TF-IDF
Palabras
clave usando
TF-IDF
Fin
No es
español
Fig 35: Extractor de palabras clave
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
59
Grafo de dependencias sintácticas colapsadas por cada oración:
2.22.8 EVALUACION SEMANTICA
El segundo conjunto de datos seleccionado es el corpus: Extracción de palabras o
frases clave para artículos científicos, con palabras clave determinadas por los autores
de artículos. Las publicaciones están en librería digital ACM (Association for
Computing Machinery) y se seleccionan de 4 áreas de investigación diferentes:
a) Sistemas distribuidos
Inicio
Listado
dependencias
sintácticas
colapsadas
Inicializar grafo
Para cada dependencia
sintáctica colapsada
Nodo[padre]
existe
Crear nodo[padre]
Nodo[hijo]
existe
Crear nodo[hijo]
nodo[padre].agregar_vecino(nodo[hijo])
Fin
Fig 36: Dependencias sintácticas por oración
60
b) Búsqueda y recuperación de información
c) Inteligencia artificial / Sistemas multiagente
d) Sociales / Economía / Ciencias de la conducta
Se eliminan las referencias bibliográficas de los textos, las referencias a secciones,
artículos, figuras, tablas y formulas, para el analizador sintáctico de Stanford (Stanford
Parser). Para el conteo de frecuencia de palabras, se implementa las técnicas de cambio
de mayúsculas a minúsculas, stemming, lematización, eli. minación de stopwords y
eliminación de signos de puntuación:
El texto se ingresa al analizador sintáctico de Stanford (Stanford Parser), la clase
texto tiene una función generar_dependencias, que obtiene dependencias sintácticas
colapsadas, estas dependencias se guardan en archivo de texto plano
Las dependencias sintácticas, se representan gráficamente con un árbol sintáctico:
Los proyectos de ley sobre puertos e inmigración fueron presentados
por el senador Brownback, republicano de Kansas. La ciudad de
Kansas está en Misuri. El senador Brownback es un político
estadounidense.
Nsubjpass(submitted-7, Bills-1)
Prep-on(Bill-1, ports-3)
Conj_and(ports-3, inmigration-5)
auxpass(submitted-7, were-6)
root(ROOT-0, submitted-7)
nn(Brownback-10, Senator-9)
agent(submitted-7, Brownback-10)
appos(Brownback-10, Republican-12)
prep_of(Republican-12, Kansas-14)
nn(Brownback-2, Senator-1)
nsubj(politician-6, Brownback-2)
cop(politician-6, is-3)
det(politician-6, an-4)
nn(politician-6, american-5)
root(ROOT-0, politician-6)
nn(city-2, Kansas-1)
nsubj(is-3, city-2)
root(ROOT-0, is-3)
prep_in(is-3, Missouri-5)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
61
Algunos ejemplos de los n-gramas que se obtienen a partir de la oración “Bills on
ports and immigration were submitted by Senator Brownback, Republican of Kansas,
son Trigramas de elementos léxicos obtenidos:
Conteo de frecuencia de las palabras contenidas en los textos de entrada:
ROOT
politica
Congona
es
un
Peruano
Profesor
root
nsubj
cop
det
nn
Fig 37: Arbol sintáctico de dependencias
root, submitted, bills
root, submitted, were
root, submitted, brownback
submitted, bills, ports
submitted, bills, were
brownback, senator, republican
bills, ports, inmigration
submitted, bills, brownback
submitted, were, brownback
submitted, brownback, republican
submitted, brownback, senator
brownback, republican, Kansas
root, politician, brownback
root, politician, is
root, politician, an
root, politician, american
politician, brownback, is
politician, brownback, senator
politician, brownback, an
politician, brownback, american
politician, is, an
politician, is, american
politician, an, american
root, is, city
root, is, Missouri
is, city, Kansas
is, city, missouri
Fig 38: Trigrama de elementos léxicos
62
Se observa la palabra y dos indicadores, el primero es el número de textos en los
que aparece la palabra y el segundo el valor TF·IDF (Term Frecuency) máximo.
La eliminación de stopwords (Anexo K) es importante en la extracción de palabras
clave, para que los resultados sean mejores.
La técnica de conteo de incidencias se usa para determinar palabras clave del
documento.
La ponderación TF·IDF (Term frequency, Inverse document frequency) es una
medida estadística para evaluar la importancia de un término en un documento o en un
conjunto de documentos. Se usa con frecuencia para extracción de palabras clave,
frases clave, generación de resúmenes automáticos y clasificación de documentos.
TF (Frecuencia de términos) es el número de ocurrencias de una palabra en un
documento (Custodio, 2016), es la relevancia de la palabra t en documento d:
“brownback”: [2, 0.0],
“submitted”:[1, 0.04620981203729684],
“american”: [1, 0.046209812037329684],
“supported”: [1, 0.03150669002545206],
“inmigration”: [1, 0.046209812037329684],
“one”: [1, 0.03150669002545206],
“history”: [1, 0.03150669002545206],
“troop”: [1, 0.03150669002545206],
“support”: [1, 0.03150669002545206],
“law”: [0.03150669002545206],
“signed”: [0.03150669002545206],
“Israel”: [0.03150669002545206],
“governor”: [0.03150669002545206],
“largest”: [0.03150669002545206],
“Kansas”: [2,0.0],
“also”: [0.03150669002545206],
“surge”: [0.03150669002545206],
“income”: [0.03150669002545206],
“bills”: [0.03150669002545206],
“2007”: [0.03150669002545206],
“politician”: [0.03150669002545206],
“republican”: [0.03150669002545206],
“senator”: [0.03150669002545206],
“tax”: [0.03150669002545206],
“cuts”: [0.03150669002545206],
“voiced”: [0.03150669002545206],
“city”: [0.03150669002545206],
“ports”: [0.03150669002545206],
“iraq”: [0.03150669002545206],
“missouri”: [0.03150669002545206],
“war”: [0.03150669002545206],
Fig 39: Frecuencia de palabras en textos
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
63
TF = 

En donde  es el número de ocurrencias del término i en un documento j y  es
el número de ocurrencias de todos términos contenidos en el documento j
IDF (Frecuencia inversa de documentos) se define como el número total de
documentos que se están analizando, normalizado por el número de veces que aparece
el término en el resto de los documentos. Esta medida indica que tan representativa es
una palabra en el documento:
IDF=log

Donde es el número total de documentos analizados, y {   } es el
número de documentos donde el término  aparece tal que  0. Entonces TF·IDF:
  = 

. Log

2.22.9 MINERIA DE TEXTOS
Existen dos formas de similitud de palabras: similitud léxica de secuencias de
caracteres similares (mismo morfema, lexema, etc) y similitud semántica por el mismo
significado o son usadas en el mismo contexto. La primera es a través de algoritmos
de cadenas y la segunda es mediante algoritmos con corpus y conocimiento:
Medidas basadas en cadenas: utilizan secuencia de cadenas y
composición de caracteres. Comparan dos cadenas de textos para estimar
su equivalencia.
Medidas basadas en corpus: evalúan la semejanza entre
palabras a través de la información que tienen grandes textos.
Medidas basadas en conocimiento: determinan la semejanza
entre palabras con información obtenida de redes semánticas.
2.23 CARACTERES DAÑADOS
Los caracteres dañados son segmentados y reconocidos usando técnicas como
Método de Otsu, perfil de proyección vertical y perfil de proyección horizontal. En
proyección vertical el perfil de los caracteres se identifican por columnas y en
proyección horizontal el perfil de los caracteres son identificado por filas
64
Para identificar los caracteres rotos en los que caracteres con el ancho por encima
del valor medio son considerados completos y los que están por debajo del valor
medio, están rotos.
Los caracteres rotos se aíslan y adelgazan para obtener el borde de él, luego se
reconstruye con ayuda de relleno de espacios del caracter dañado usando el algoritmo
de punto final (Valero, 2017)
Identificado el caracter se normaliza y adelgaza para obtener los puntos de borde.
Luego de detectar los puntos del borde, el segmento de línea se dibuja usando
componentes conectados y se comprueba si el caracter está roto o no, si está roto se
une usando un ajuste de curva polynomial(Valero, 2017)
El algoritmo funciona aceptablemente con documentos degradados. El diagrama
de flujo del método es:
Se utilizan dos técnicas para identificar caracteres rotos: área superpuesta y código
de caracteres. Los caracteres rotos se identifican y se reconstruyen usando la conexión
con las áreas superpuestas y el codigo de caracter.
Codificación en cadena: este método se utiliza para la forma del caracter que es
segmentado de la proyección de perfil horizontal y vertical. Se genera varias salidas y
la de calidad superior y la más cercana será elegida.
Imagen de entrada
Preprocesamiento
Segmentación
Código de cadena
Umbral basado en la
media para
identificar charateres
Reconstrucción de
caracteres rotos
Fig 40: Proceso identificación caracteres rotos
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
65
Umbral basado en la media: método para identificar el caracter roto y el caracter
completo. Si el caracter coincide con el 95% y más del valor medio entonces se
clasifica como caracter completo, de lo contrario, es considerado como carácter roto
(deteriorado).
Reconstrucción: luego que los caracteres rotos se identifican se reconstruyen
usando la heurística con información de la base de datos:
 =  ;
  () ≥ 95%   ,
 ;
  () < 95%   
2.24 DOCUMENTOS HISTORICOS
En estos documentos se encuentran interferencias de atrás hacia adelante, como
sangrado transparente, papel oscurecido, tinta descolorida, marcas de pliegues,
manchas y regiones dañadas o arrancadas:
El color se recoge, la distribución, textura del papel y, la escritura monocromática
se almacena como imagen del documento. Cuando se imprime el documento, los datos
recogidos permiten colorear la imagen monocromática produciendo una imagen
similar al original, según lo almacenado.
El clasificador de ruido utilizado es Random Forest que se implementa en Weka.
La arquitectura de detección de ruido se forma por clasificadores paralelos que
66
detectan ruidos de borde de encuadre, sesgo, orientación e interferencia de atrás hacia
adelante. Los tres primeros clasificadores reconocen ruidos cerca de 100 % de
precisión, el último por su complejidad utiliza una estrategia sofisticada de
clasificación y detección de ruido(Silva Gabriel & Dueire Rafael, 2010).
2.24.1 CLASIFICADOR DE INTERFERENCIA DE ATRÁS
HACIA ADELANTE
Las imágenes son etiquetadas en cuatro niveles de interferencia como: fuerte,
medio, ligero y ninguno. Los clasificadores de este ruido se conectan en cascada. La
arquitectura de cascada usa clasificador para detectar ruido de atrás hacia Adelante:
Fig 41: Proceso para detector ruido
Se utilizan imágenes JPEG, donde los documentos no son blanco, también
consideran otros ruidos por vejez, manchas, etc.
2.24.2 ELIMINACION DE BORDES
Los bordes de digitalización afectan la calidad de imagen, esto tiene implicaciones
al preprocesar sus imágenes de entrada en escala de grises o binario antes del
reconocimiento de caracteres.
Fig 42: Eliminación de bordes de digitalización
Si
No
Fuerte
De Atrás
hacia adelante
Medio
De Atrás
hacia adelante
Ligero
De Atrás
hacia adelante
Si
Si
No
Sin ruido
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
67
2.24.3 ELIMINACIÓN DE INTERFERENCIAS DE ATRÁS
HACIA ADELANTE
Se segmenta los tres componentes del documento (fondo, tinta e interferencias):
La primera aplicación del algoritmo separa el texto del resto del
documento
Separa el fondo del frente interferencia del resto del papel.
2.24.4 MEJORA DE DOCUMENTOS
La imagen final se obtiene con los píxeles del objeto y reemplazando los píxeles
de fondo con el promedio de los colores de los píxeles de clase:
2.24.5 MÓDULO DE COMPRESIÓN
En la compresión la imagen se descompone y almacena como archivo comprimido,
imagen monocromática junto a los colores y la textura de los gráficos elementos del
documento (papel, impresión, firma, etc.)
Fig 43: Eliminación de interferencias de atras hacia adelante
Fig 44: mejora de imagen final
68
2.25 RECONOCIMIENTO DE DOCUMENTOS HISTORICOS
DETERIORADOS
El resultado del reconocimiento de una palabra es la composición de las partes
reconocidas individualmente. La calidad holística de reconocimiento de palabras para
documentos históricos, se justifica para documentos severamente degradados una
segmentación de palabras por caracteres que producirá resultados pobres. La calidad
de los documentos originales no permite reconocerlos con alta precisión: el objetivo
es producir transcripciones que permitan la recuperación de imágenes, que es factible
en entornos ruidosos.
El trabajo es reconocer escritos usando HMM simple con un estado por cada
palabra(Lavrenko et al., n.d.)
En la detección de líneas de texto en documentos históricos dañados,se uitliza un
método diseñado para detectar líneas de texto en imágenes en escala de grises. El
método consta de dos etapas: en la primera se detecta caracteres potenciales en la
primera etapa, analizando los mapas de evolución. de componentes conectados
obtenidos por un umbral, los caracteres potenciales detectados se agrupan en líneas de
texto. En la segunda etapa, se utiliza el método de barrido de línea. El método se aplica
a documentos rotos y dañados en los que otros algoritmos no son eficientes (Rabaev
et al., n.d.)
Colorear
Generación de imagen de papel
Información
de textura
Generación
de textura
+
Información textual
Imagen
sintética
Generación de imagen de tinta
Fig 45: Proceso de composición
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
69
2.26 GESTION DOCUMENTAL
2.26.1 Características generales
ISO 23081 es un marco para creación, gestión y uso de metadatos para la gestión
de documentos, y explica los principios, ésta Norma es una guía para entender,
implantar y utilizar metadatos en el marco de la Norma ISO 15489 de Información y
documentación de Gestión documental. La ISO 30300 tiene las ventajas de integrar el
Sistema de Gestión Documental con el resto de Sistemas de Gestión ISO, tiene
beneficios adicionales en organizaciones para implantar un Sistema de Gestión para
los Documentos (Zea Evelin, 2016).
Los SGD deben contar con principios definidos en la norma ISO 15489-1:
Fiabilidad, atributo relacionado con la creación y el
mantenimiento de documentos.
Integridad, se aplica medidas para controlar el acceso,
identificación del usuario, la destrucción autorizada y la seguridad, evita
la modificación o la eliminación no autorizada
Conformidad. Se cumple los requisitos de actividades propias
de la organización, de su entorno normativo y de las expectativas de la
Sociedad.
Exhaustividad. se relaciona con la gestión los documentos
procedentes de todas las actividades o secciones de la organización.
Carácter sistemático, plantea que los documentos de archivo se
deben crear, conservar y gestionar sistemáticamente
Las funciones del Sistema de gestion documental electrónica son:
Búsqueda: proporciona información, para descubrir si existen
datos de interés.
Recuperación: tiene información de interés para usuarios. El
componente que recupera los datos desde el metadato es simple y
70
complejo como para cubrir cuestiones de seguridad y realizar una
transacción financiera (compra en línea).
Evaluación: tiene información para determinar si los datos son
útiles para una aplicación.
Un SGD, requiere un área responsable de su implantación en la estructura orgánica,
sea la de mayor nivel jerárquico en la organización.
Un SGDE es el principio de la incorporación de gran cantidad de información en
papel, a un sistema electrónico para guardar información de manera lógica, ordenada
y sistematizada, en entorno de oficina sin papel.
La recuperación de información es una actividad que se produce dentro de un
proceso documental. Las fases pueden resumirse en las siguientes:
Selección y adquisición
Análisis
Almacenamiento
Búsqueda o recuperación
Difusión de la información.
Las ventajas de un SGDE en una organización son las siguientes:
Reduce la necesidad de manipular, almacenar y recuperar la
documentación en papel.
Reduce el costo del proceso de creación, almacenamiento y
conservación de los documentos.
Es eficiente porque facilita su recuperación y acceso.de los
documentos.
Reutiliza la información obtenida y permite compartirla con
toda la organización.
Reduce los costos de mantenimiento y apoyo.
Ofrece apoyo en la toma de decisiones.
Asegura su preservación histórica
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
71
Estos beneficios suelen ser agrupados en tres grandes bloques:
Beneficios estratégicos: Afectan a la organización.
Beneficios financieros: afectan la reducción de costos y
aumentan la productividad.
Beneficios técnicos: mejoran los aspectos y procesos
tecnológicos que se dan dentro de la organización
La norma ISO 15498 propone la metodología DIRKS (Designing and
Implementing Recordkeeping Systems). En el diseño e implementación se considera:
Investigación preliminar
Análisis de las actividades de la organización
Identificación de los requisitos
Evaluación de los sistemas existentes
Identificación de las estrategias para cumplir con los requisitos
Diseño del sistema de gestión de documentos
Implementación del sistema de gestión de documentos
Revisión posterior a la implementación
La norma ISO 15498 proporciona instrumentos, procesos, define beneficios y, se
adapta al modelo de gestión por procesos y propone de la organización.
Fig 46: Arquitecura de gestión de recuperación documental
72
2.26.2 Extracción de palabra clave de texto documental
El análisis de las principales metodologías para la extracción de palabras clave es
muy útil para evaluar rápida y eficazmente grandes cantidades de texto para luego
realizar búsqueda en línea. Las palabras clave de un documento proporcionan una
descripción muy detallada del contenido, se utilizan para la construcción de índices,
refinamiento de consultas, resumen de texto, etc., se emplean en la recuperación de
información y el procesamiento del lenguaje natural.
El proceso para extracción de palabra clave es:
Extraer texto de documento.
Eliminar puntuación y caracteres especiales.
Convertir a minúsculas y eliminar palabras vacías.
Lematización y derivación de palabras.
Tokenización.
Corrección ortográfica.
La extracción de palabras clave se realiza:
Identificación de palabra candidata.
Generación de vectores de características.
Texto sin formato
Tokenización de oraciones
Tokenización de palabras
Etiquetado de puntos de venta
Fragmentación de NP
Documentos
de texto
Tokenización
Generación
de n-grama
Identificación
frase candidata
Generación de
vector características
Modelo aprendizaje
y clasificación
Palabra vacía
Frase candidata
Vector
característica
Preprocesamiento
documental
Frases clave
Fig 47: Agregar palabras clave de texto
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
73
El algoritmo se basa en el criterio de a mas frecuencia de aparición de la palabra
en un documento, mayor es su importancia, esto es el criterio para cualquier texto, la
importancia de la palabra es completamente dependiente del documento.. El agregado
para gestión documental es, identificar el tipo de documento y según sea se agrega al
algoritmo metadatos imperativos como fecha, persona de origen y destino, titulo y/o
referencia.
La metodología Tf-idf (Término Frecuencia-Frecuencia de documento inversa) usa
el peso dado a un término particular dentro de un documento y es proporcional a la
importancia del término, el peso es una medida estadística para evaluar la importancia
de una palabra en el documento
Df-icf (frecuencia de corpus inversa de frecuencia de documento) para conocer la
importancia de un documento en el conjunto, un término que tiene un alto nivel de
importancia en un documento de baja ponderación pierde su importancia, se amplia la
idea para identificar la importancia de un documento utilizando el df-icf [7]
Algoritmo TF-IDF
El tf-idf depende de dos factores: la frecuencia de término y la frecuencia inversa
del documento.
El conteo de términos en el documento es el número de veces que palabra aparece
en el documento, se define de la siguiente manera:


nij: número de ocurrencias del término considerado en documento
: suma del número de apariciones de todos los términos en
documento
La frecuencia inversa del documento mide la importancia general del término, se
define:


: es el número total de documentos en corpus
: es el número de documentos donde ti aparece
74
El peso tf-idf del término ti en un documento particular dj es el producto de tf y idf:
(tf idf)i,j = tfi,j x idfi
2.26.3 Proceso de Indexación documental
Es una operación que tiene por función la identificación de los conceptos que representan
el contenido de un documento y la traducción de los mismos a una forma que
computacionalmente sea manejable. Se identifican dos etapas:
a) Reconocimiento del documento y extracción de los conceptos contenidos en el
mismo.
b) Traducción de tales conceptos en términos de un lenguaje documental
La indexación puede realizarse desde dos enfoques: uno basado en métodos no
lingüísticos y otro basado en métodos lingüísticos. En el primer caso, se utilizan técnicas
estadísticas para análisis de frecuencias y cálculo de pesos de los términos, análisis de
probabilidades para determinación de multipalabras y técnicas de agrupamiento (clustering)
destinadas a la detección y extracción de relaciones. En el segundo caso, se utilizan técnicas
derivadas del procesamiento del lenguaje natural (PLN), las que pretenden imitar el
comportamiento de los indizadores humanos.
La indexación de base no lingüística se fundamenta en el análisis de la frecuencia de los
términos y su distribución dentro de los documentos. Este análisis tiene como objeto establecer
criterios que permitan determinar si una palabra es un término de indexación válido,
fundamentalmente porque permite discriminar el contenido de los documentos y que aporta
información.(Tolosa Gabriel H, 2016)
Se han estudiado y determinado algunas propiedades estadísticas del texto escrito que
determinan cómo se distribuyen las frecuencias de aparición de las diferentes palabras en una
colección y cómo crece el tamaño del vocabulario conforme crece tal colección. Existen dos
experiencias que describen estas propiedades: la ley de Zipf y la ley de Heaps
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
75
Fig 48: Flujo de proceso de indexación documental
Las etapas que conforman este proceso son las siguientes:
a) Análisis lexicográfico: Se extraen las palabras y se normalizan.
b) Eliminación de palabras vacías o de alta frecuencia en la colección.
c) Stemming: Se reducen palabras morfológicamente parecidas a una forma
base, con la finalidad de aumentar la eficiencia.
d) Selección de los términos a indexar: Se extraen aquellas palabras simples o
compuestas que mejor representan el contenido de los documentos.
e) Asignación de pesos o ponderación de los términos que componen los índices
de cada documento. En algunos modelos es fundamental asociar la importancia de un
término t en un documento d a los efectos de mejorar las prestaciones.
La cantidad de información que una palabra aporta sobre la aparición de la otra:
IM (A,B) = log2󰇛󰇜
󰇛󰇜󰇛󰇜
P(A,B) es la probabilidad que los términos A y B ocurran juntos
76
P(A) Probabilidad de ocurrencia del término A
P(B) Probabilidad de ocurrencia del término B
2.26.4 Modelo de Recuperación de Información
La recuperación de información busca documentos relevantes de acuerdo a
una necesidad de información, expresada como una consulta. Esta tarea es imprecisa
debido a las simplificaciones que se realizan en todo el proceso, por ejemplo, el mapeo de la
necesidad de información del usuario en un query o la visión lógica de un documento como
un conjunto de palabras.
Las estrategias pueden ser:
a) Búsqueda por texto libre
Analiza cada documento del corpus de forma secuencial a un costo O(n). Busca que el
patrón ingresado se encuentre en el documento y si existe coincidencia pertenece al conjunto
solución
b) Búsqueda ingenua
Optimiza el modelo anterior permite rankear los documentos de la respuesta:
Consulta = {q1, q2, .., qn}
Doci = {(t1,p1), (t2, p2), ..., (tm, pm)} (Los términos están en orden alfabético)
Donde q es un término de una consulta
t un término existente en un documento
p peso asociado al término, que indica su importancia
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
77
3 Base Metodológica
Para el reconocimiento de caracteres las variables corresponden a técnicas de PCA
(Análisis de componentes principales) y RFE (Eliminación Recursiva de
Características) que permiten crear modelos más eficientes para el ROC. Con éstas
técnicas el tamaño del conjunto de datos decrece y el tiempo de clasificación de los
caracteres se reduce. En el proyecto hay entradas que mantienen siempre el mismo
valor o que presentan muy poca variación en sus datos. Estas variables serán
descartadas. (Miralles et al., 2015).La metodología de studio considera las fases:
3.1 DESCRIPCIÓN DE LA BASE DE DATOS
El proceso de ICR se inicia con la digitalización de imágenes de escritura
deteriorada que tienen los caracteres, para uso en proyecto. Este conjunto está
compuesto por documentos y campos, un campo como salida del modelo representa el
caracter y el resto de los campos son entradas. Las entradas son píxeles de la imagen
que representa el caracter. Cada imagen tiene una resolución de 28x28, lo que hace un
total de 784 píxeles. Cada pixel es un número entre 0 y 255 que indica el nivel de gris.
El valor 0 es el color blanco y el valor 255 el color negro.
3.2 REDIMENSIONAR IMAGEN
Los pixeles de una imagen es la resolución,y el conjunto de pixeles es una matriz.
La imagen en color tiene tres valores RGB (Red-Green-Blue) para representar a un
píxel. En el proyecto la imagen está en escala de grises por lo que cada pixel está entre
0 y 255.(Miralles et al., 2015)
De la imagen se extraen algunas características que son útiles para el acierto en las
predicciones del modelo.
Fase 1:
Redimensionar
la imagen
Fase 2:
tratamiento de
la imagen
Fase 3:
Selección de
variables
Fase 4:
Construcción
del modelo
Fase 5:
Evaluación del
modelo
Fig 49: Fases de reconocimiento de caracteres
78
Los datos, de imagen se representa por un arreglo bidimensional de píxeles en
escala de grises está representada por 785 atributos:
Caracter en la imagen, representa dígitos o caracteres alfabéticos.
784 valores en los píxeles (resultado de los 28x28 píxeles), toman
valores enteros de 0 hasta 255, siendo el valor 255 la intensidad más oscura
(negro) y el 0 la intensidad más clara (blanco).
Con la reducción de la dimensión de los datos se reduce el tamaño de las imágenes.
Por cada imagen de 28 x 28 píxeles, se utiliza imagenes de 14 x 14 píxeles. Para esto,
los valores de cuatro píxeles continuos en la imagen original se promedian para obtener
un píxel en la imagen de menor escala:
Tabla 2: Matriz con pixeles
125
136
252
253
109
95
126
52
125
236
123
145
59
87
38
74
3.3 TRATAMIENTO DE IMAGEN
Son técnicas para mejorar la calidad de la imagen y facilitan la búsqueda de
información en ellas: Binarización, Fragmentación o segmentación, adelgazamiento
de components, selección de características.
3.4 SELECCIÓN DE VARIABLES
Completadas las fases anteriores utilizaremos PCA y RFE para seleccionar las
características más importantes y descartar las menos relevantes. El PCA es una
técnica estadística para el descubrimiento de patrones en conjuntos de datos. Es la
selección de componentes para otorgar una mayor aportación de información para el
modelo.
Información mutua y PCA: La entropía es una medida de incertidumbre en una
variable aleatoria discreta, esto es, mide que tan uniforme es una variable. En este caso,
si la variable aleatoria tiene una distribución uniforme, la entropía es máxima. La
entropía se utiliza la siguiente función:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
79
H(X) = 󰇛󰇜󰇛󰇛󰇜󰇜
La información mútua es una medida de dependencia entre dos variables aleatorias
discretas, esto es porque mide la reducción de la incertidumbre (entropía) de una
variable, según valor de otra variable. El cálculo de la información mútua utiliza las
siguientes ecuaciones:
H(X,Y) = 󰇛󰇜󰇛󰇛󰇜󰇜
IM(x,y) = H(X) H(Y) H(X,Y)
En la clasificación de caracteres deteriorados, las variables para generar los
modelos coinciden con los píxeles que reducen la incertidumbre de la clase osea, las
variables de los píxeles con mayor información mútua. Se observa que algunas de las
variables descartadas coinciden con los píxeles de los bordes de la imagen, debido a
que los bordes no contienen información importante(Miralles et al., 2015).
Método recursivo de selección: RFE (Recursive Feature Selection) o eliminación
recursiva de características es un método de selección de variables. En éste método, se
van construyendo modelos desde una combinación de entradas. El algoritmo clasifica
las entradas del modelo de mayor a menor relevancia. Construye modelos con cada
variable de forma independiente y evalúa los resultados. Luego construye modelos así:
Primero con una variable, luego con la primera y segunda variable, despues con la
primera, la segunda y la tercera y así sucesivamente para todas las variables.
La salida del algoritmo es una gráfica con agrupaciones identificando la mejor
combinación, de los resultados se descartan las variables menos importantes o que
generan ruido. El objetivo es doble: tener un número de variables más reducido y elegir
la combinación con mejores resultados, lo permitirá construir modelos sencillos y más
precisos, con RFE se reduce el número de variables.
3.5 CONSTRUCCIÓN DEL MODELO
Metodología en la construcción de los modelos
Para la construcción y evaluación de modelos se tiene la librería llamada Caret, que viene
de las siglas: “Classification And Regression Training”. Esta librera permite construir
modelos en pocas líneas de código y de forma muy sencilla. El código para la construcción de
un modelo empleando Random Forest:
80
La instrucción trainControl sirve para indicar el número de modelos que se ejecutan por
cada configuración, la instrucción “expand_grid” indica el número de árboles de tipo Random
Forest a utilizar. Esto con la función “train” que tiene como parámetros: una matriz con las
entradas, un arreglo con las salidas y el método que se usará en este caso el Random Forest. A
continuación el algoritmo genérico para la construcción de los modelos:
Algoritmo de construcción de métodos
- Leer el Data Set
- Seleccionar variables más significativas mediante Random forest o PCA
- Desde modelo: 1 hasta N
- Crear conjuntos de muestras diferentes mediante CV
- Desde configuración 1 hasta configuración N
- Crear varios modelos con una parte Training Set
- Probar el modelo con la partición restante
- Fin Desde
- Elegimos la media de los modelos y el mejor resultado
- Fin Desde
- Clasificar los métodos según los mejores resultados
Fin del Algoritmo
3.6 MÉTODOS DE CLASIFICACIÓN
Algunos de los clasificadores son: Random Forest, SVM, KNN, Redes Neuronales y
experimentamos con métodos de aprendizaje profundo Deep Learning.
Deep Learning: implementan metodología basada en crear modelos abstractos a partir de
las entradas (Gonzalez, 2012). Utilizan una serie de técnicas de aprendizaje para extraer
características de los datos de manera jerárquica. Las características de nivel superior se
forman a partir de las de niveles inferiores. Esta técnica construye modelos predictivos
precisos y con mejores resultados para diversidad de problemas. Una imagen en Deep
Learning se representa con un conjunto de bordes o una serie de formas. Esta técnica de
aprendizaje usa transformaciones no lineales para hacer representaciones de los datos, utiliza
un conjunto de capas concatenadas donde la salida de una capa es la entrada de la siguiente.
Cuanto más grandes sean las capas y mayor sea su número es mejor la capacidad de
abstracción. El Deep Learning crea técnicas útiles orientadas a problemas genéricos, genera
resultados en el reconocimiento de imágenes y en el procesamiento del lenguaje natural.
Deep Learning H20: paquete de R Studio que se basa en redes neuronales multicapa con
alimentación hacia adelante. Se entrenan con descenso de gradiente estocástico utilizando
retropropagación. Este modelo descarga a través de Internet una serie de datos empleados en
la configuración de los nodos.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
81
Random forest: Son una combinación de árboles predictivos donde para cada árbol k se
genera un vector aleatorio, creado de manera independiente y con la misma distribución
empleada en cada árbol k del conjunto (forest). El árbol se construye con un conjunto de
entrenamiento, dando como resultado un clasificador.
KNN (K-Nearest neighbors): basado en el cálculo de la distancia más cercana,
normalmente distancia Euclidiana, entre los puntos del conjunto de datos a un punto dado,
donde K es el número de vecinos cercanos seleccionados.
SVN (Support Vector Machines): separa los datos por hiperplanos. Se busca por el
hiperplano óptimo, el cual brinda la máxima distancia desde los patrones de entrenamiento
más cercanos, los SV son entonces los vectores más cercanos a estos patrones
3.7 EVALUACIÓN DEL MODELO Y MUESTRA DE RESULTADOS
En la evaluación se mide el grado de precisión de cada modelo, se informa si la
dimensionalidad elegida es adecuada para el modelo, para medir la calidad se utiliza la
exactitud de cada método, para lo que, se suma los elementos de la matriz que forman parte
de la diagonal principal y se divide entre el total de elementos. En la Tabla 3, se tiene los
resultados con 10.000 muestras de entrenamiento y 15.000 para el test.
Tabla 3: Matriz de Confusión método SVM
Fases en procesamiento de imágenes
Fase 1:
Reducción de
imagen
Fase 2:
Tratamiento de
imagen
Fase 3:
Selección de
Variables
Fase 4:
Construcción de
modelo
Fase 5:
Resultados
No hacer nada
Ancho pixel
No extraer
características
KNN
0.9495
Imagen 14x14
Quitar filas
blanco
PCA
Random
Forest
0.9315
Imagen 28x28
Binarizar
RFE
Neuronal
Network
0.9625
Tabla 4: Evaluación de fases de reconocimiento
0 1 2 3 4 5 6 7 8 9
01425 0 6 2 2 4 7 1 5 5
1 0 1677 3 2 3 2 0 6 6 1
2 1 7 1421 17 14 3 0 11 5 2
3 2 0 9 1503 229 0 7 11 8
4 2 2 3 1 1413 6 3 8 9 25
5 7 0 0 18 21279 7 0 10 5
6 4 3 2 2 9 12 1454 0 6 0
7 0 6 15 9 7 1 0 1507 318
8 6 1 11 29 210 3 3 1385 14
9 1 2 4 5 28 3 0 19 10 1398
Valores Reales
Valores Predichos
82
La exactitud se calcula con:
Exactitud = 

En la matriz de confusión cada columna representa el número de predicciones de cada
clase y cada fila representa las instancias de la clase real. La precisión o accura cy del modelo
es: 0.9641.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
83
4 Descripcn de Unidad de Alisis
El extractor de funciones, genera información sobre el caracter de una imagen y
los métodos de extracción se pueden dividir en dos categorías:
Comparación de plantillas, la imagen se compara con plantillas de
caracteres, generalmente utilizando píxeles de imagen como características.
Análisis estructural. Se utilizan atributos como características en una
imagen, como las posiciones de las esquinas, las orientaciones de los trazos, los
huecos de los caracteres, etc. Es más complejo, pero es más robusto que la simple
comparación de plantillas.
Clasificador, utiliza la información extraída, características, para clasificar la
imagen de caracter como parte del conjunto de caracteres a reconocer (Zdeněk, 2014)
El Proyecto considera las etapas:
Cargar una imagen escaneada desde una máquina/computadora
Preprocesamiento de imagen para mejorar información gráfica
Extracción de zona de texto de la imagen
Reconocimiento del texto y
Aplicar post técnicas de procesamiento (métodos de detección y
corrección de errores)
Extracción de palabras clave de contenido textual
El procesamiento digital de imágenes generalmente utiliza imagen bidimensional
por una digital. La imagen como patrón de píxeles (imagen elementos), es una matriz
de elementos reales y caracteres representados por un número finito de bits
El Sistema de reconocimiento no tiene ningún tipo de restricción referente a estilo,
altura, tipo de letra, grosor y dirección del trazo, etc.
Algunos objetivos específicos:
84
Detección de palabras partidas. Se utiliza método de extracción de
características. diversos clasificadores y ajuste de parámetros.
Técnicas de unión de las líneas partidas, para unir palabras partidas.
Efecto en la decodificación, experimentos de mejora al juntar las neas.
4.1 PLANTEAMIENTO DE RECONOCIMIENTO INTELIGENTE DE
CARACTERES
Para el reconocimiento se usa la IA(Artificial Intelligence) con redes neuronales para
lograr resultados aceptables.
Hay tipos de textos, para los que se aplica aprendizaje y pueda reconocer palabras de
distintas fuentes y caligrafías.
El modelo que se implementa es aprendizaje profundo (deep-learning) supervisado en las
imágenes de entrada para que en cada iteración se defina los caracteres y luego utilizarlos:
El entorno de desarrollo es el lenguaje Python y java.
Caract=80
CNN
5 capas
RNN
2 capas
CTC
Perdido
CTC
Decodif
“casa”
0,1 2 3
“casa”
Características=256
Paso tiempo=32
Paso tiempo=32
Long=32
Long=32
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
85
4.2 ORIGEN DE DOCUMENTOS
4.2.1 CARACTERES PARA APRENDIZAJE
La base de datos MNIST tiene datos, para entrenamiento (60,000 imágenes) y otro
para prueba (10.000 imágenes), el conjunto de entrenamiento se divide en dos
conjuntos uno en 50,000 imágenes para entrenamiento y otro 10.000 para validación.
La red se entrena con imágenes poco deformadas, generadas en línea; luego, se usa
conjunto de entrenamiento no deformado para validación. Las intensidades de píxeles
de las imágenes originales en escala de grises oscilan entre 0 (fondo) y 255 (primer
plano máximo de intensidad) y 28×28 = 784 píxeles por imagen (Ciresan et al., 2010)
Los caracteres MNIST se originan deformando imágenes de entrenamiento, para
usar en redes. Se combina afines (rotación, escalado y cortante horizontal) y
deformaciones elásticas, caracterizadas por los parámetros de valor real:
σ y α: para distorsiones elásticas que emulan oscilaciones de los
músculos de la mano;
β: un ángulo aleatorio de [−β, +β] es la rotación o el corte
horizontal. En caso de cortante, tan β, define la relación entre el
desplazamiento horizontal Altura de imagen;
γx, γy: para escalado horizontal y vertical, seleccionados al azar
de [1−γ/100, 1+γ/100].
Al inicio de cada época, el conjunto de entrenamiento MNIST se deforma. Redes
pequeñas tienen parámetros de deformación: σ =5,0 6,0, α = 36,0 38,0, γ = 15
20. Si los dgitos 1 y 7 son similares, se obtiene rotado/cortado menos = 7.5◦) que
otros dgitos (β = 15.0◦)
4.2.2 DOCUMENTOS HISTORICOS
Se cuenta como Base de datos pública IAM Handwriting, y su última versión que
contiene 1.539 páginas manuscritas en inglés de 657 escritores. En forma
complementaria se tiene el archivo documental de la asociación latinoamericana de
archivos (ALA)
86
Los documentos tienen una resolución de 300 dpi y se almacenan como imágenes
PNG, en escala de grises, con 256 niveles. Esta base de datos contiene un dataset de
115.320 palabras formado por las imágenes y su metainformación asociada
Imagen con tensor asociado
Dataset  compuesto por pares (, ) donde es un tensor normalizado que
representa una imagen con un texto manuscrito e es una secuencia de etiquetas.
4.3 PREPROCESAMIENTO PARA ICR.
4.3.1 Caracteres Rotos
La restauración de caracteres rotos de documentos históricos es importante, porque estos
documentos contienen información con valor significactivo, con este fin, se analiza el
algoritmo Gradient Vector Flow (GVF) y Balloon con escalones triangulares para mejorar el
algoritmo snake con el fin de determinar convergencia del área de concavidad profunda y
restauración de caracteres rotos, se denomina el GVF mejorado.
Otros métodos para reconocer caracteres rotos:
Modelo oculto de Markov (HMM) (Moyotl-Hernández, n.d.).
Red neuronal multicapa hacia Adelante para idioma hindi (Yadav et al.,
2013).
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
87
Método de Cadena y coincidencia de plantillas para reconocer rotos de
idioma persa(Taulé & Martí M A, n.d.).
Red bayesiana dinámica para reconocer caracteres degradados (Sucar, n.d.)
El carácter roto origina la pérdida de información, estos caracteres se generan por
decoloración de la tinta, escaneo inadecuado, calidad del papel agotado, fotocopiadora y otros
casos.
La expresión: X(s) = [x(s), y(s)], s[0.1] representa curva cerrada inicial que se forma por
fuerzas internas y externas para la convergencia de bordes. La función del algoritmo snake se
representa con la ecuación (Kass et al., 1988)
Esnake = Einternal + Eexternal
La energía interna se determina:
Einterna =
󰇛󰆒󰇛󰇜󰇛󰇜

Donde X′(s) es la primera derivada de X(s) representa la energa elástica que impone la
curva a encogerse, X"(s) es la segunda derivada de X(s) que representa la energía de flexión
que hace que la curva tienda a ser como una placa delgada. α y β son parámetros de
ponderación.
Eexterna = 󰇛󰇜
La fuerza externa es reemplazada por el vector de degradación:
V(x,y) = (u(x,y),v(x,y))
88
V(x,y) se puede obtener minimizando la función de energía: (Xu & Prince, 1998)
ε 
Dónde:  es la degradación del mapa de bordes y µ es el gradiente del mapa de bordes, y
µ es parámetro de ajuste.
Objeto WordSectionImage
Este objeto almacena imagen preprocesada, una lista de palabras, y sus resultados,
encapsula los resultados que retorna el método getWords:
Método getWords
Este método tiene tres procesos, el primero binariza la imagen por secciones y resalta los
bordes, el segundo identifica los bordes dentro de la imagen y por último convierte las
secciones de mayor jerarquía y almacena en rectángulos:
Proceso de ubicación de bordes:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
89
Proceso de extracción de bordes:
Uso de preprocesamiento en el controlador
El modelo conceptual se implementa de la siguiente forma:
90
4.4 PROCESO DE RECONOCIMIENTO
En el cálculo de los códigos de contorno se aplica el procedimiento: en la imagen
recortada se elimina todos los pixeles que tengan 8 pixeles adyacentes, para quedar
solo el contorno de la imagen; luego se busca la esquina inferior izquierda de la imagen
y se recorre en sentido horario; durante este recorrido se guarda la dirección del
siguiente pixel que se recorre y al final se tiene una cadena que es el contorno de la
imagen.
Los demás experimentos usan la técnica del PCA(Principal Component Analysis)
que reduce la dimensionalidad de los datos quedándo solo con los N más
representativos. (Ventzas et al., n.d.)
Para datos entrenados por textos escritos a mano, se usa Basu y el método de
entrenamiento de Rakshit al igual que Tesseract. Con estos datos el entrenamiento se
realiza manualmente o usando Tess2Speech Trainer que automatiza este proceso en
Tesseract..
Para las imágenes con líneas de texto se usan procesos básicos de eliminación de
ruido. Y se aplica en cada imagen la etapa de segmentación (o separación) y preproceso
de líneas.
El reconocimiento de texto manuscrito continuo off-line (RTM) se basan en tres
principios básicos:
Adoptar modelos simples, homogéneos y bien conocidos para
todas las fuentes de conocimiento.
Formular el proceso de reconocimiento como búsqueda óptima
en una estructura adecuada, como base en estos modelos.
Usar técnicas para aprender modelos con los datos de
entrenamiento
0
1
2
3
2.1
Imagen
entrada
Preprocesado
de imagen
Imagen a
texto - ICR
Salida
Imagen a Caracter
Fig 50: Proceso de reconocimiento Tess2text
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
91
El Pre-proceso de imagen tiene explosion:
Sub-explosión de Tesseract:
Diagrama de bloque de entrenamiento Tesseract 1:
Diagrama de bloque de entrenamiento Tesseract 2:
1
3
0
Imagen
entrada
Rotación y
recortado de
imagen
Escala
de
grises
Salida de
imagen
Pre-procesado de imagen
Ajuste de
brillo y
contraste
Ajuste de
brillo y
contraste
1.1
1.2
1.3
1.4
JPEG, PNG, BMP, GIF
Mismo formato entrada
Fig 51: Pre-procesado de imagen Tesseract
Análisis de
componente
conectado
Lineas de
texto y
palabra
Texto de
Salida
Palabras
reconocidas
2.1.1
2.1.2
1.3
1.4
De imagen
preprocesada
Cadena
Imagen a Texto
Palabras
reconocidas
Fig 52: Reconocimiento de caracter Tesseract
1
3
2
4
Imagen
entrada
Archivos de
caja de
edición
Entrenamiento
Salida
datos
entrenados
Datos entrenados
TIFF
Fig 53: Entrenamiento Tesseract
Lista Palabras
Imágenes
página
entrenamiento
Archivos de
caja
Características
De carácter
(Archivos *.tr)
Conjunto
carácter
unico
Palabras
usuario
Word dawg
Freq-dawg
Inttemp
pffmtable
normproto
unicharset
DangAmbigs
Wordlist2dawg
Tesseract
Corrección
manual
Tesseract
mfTraining
cnTraining
Extractor
Unicharset
Adición
propiedades
caracter
Entrada
Datos Manual
Archivos de datos Tesseract
Fig 54: Lógica de entrenamiento Tesseract
92
Diagrama de flujo de entrenamiento Tesseract
Genera archivos
caja para imagenes
Inicio
Imagen despliegue (TIFF)
Nombre datos entrenados ingreso
Lenguaje archivo caja selección
Existe nombre
datos entrenados
Imagen reuso y
archivos usados
entrenamiento
Inicio
entrenamiento
Tesseract
Salida archivo
datos entrenados
Sigue
entrenamiento
Genera archivos
caja para imágenes
nuevas
Fin
Si
Si
No
No
Si
No
Fig 55: Flujo de entrenamiento Tesseract
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
93
Diagrama de caso de uso de Tess2Text
4.4.1 Preproceso
Las variaciones de estilo en escritura deteriorada, utilizan determinadas
operaciones de preproceso en los atributos de estilo:
Nivel de Ruido: propio de la imagen y/o puede aparecer en
proceso de digitalización.
Entrenamiento
Tess2Habla
Toma foto
como imagen
entrada
Despliega
imagen
existente
Escribe en
canvas
Graba texto
extraído .txt
Despliega
epub existente
Actualiza
aplicación
Convierte
imagen a
texto
Archivo
diccionario
Datos
entrenados
tesseract
Crea mejoras,
actualización y
otros paquetes
<<Extend>
>
<<Include>>
<<Extend>
>
<<Extend>
>
<<Include>
>
<<Include>
>
<<Include>
>
Usuario
Fig 56: Caso de uso Tesseract
94
Pendiente o “Slope”: ángulo de línea base del texto manuscrito
respecto a la horizontal.
Inclinación o “Slant”: ángulo del trazo respecto a la vertical.
Altura de la escritura: Es de relevancia la altura relativa entre
letras ascendentes (ej.: b, l, t, etc.), descendentes (ej.: p, q, j, etc) y
normales.
Anchura de las letras: El ancho de la escritura varía para una
tarea dada.
Grosor del Trazo: los diferentes elementos de escritura generan
diferentes tipos y grosores de trazo
La corrección de “slope” y “slant” son operaciones estándar en sistema de RTM
Ejemplo de preproceso de una imagen de línea de texto manuscrito:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
95
Imagen original (“mil quinientos cuarenta”);
Detección de pendiente de línea base y corrección;
Corrección de inclinación vertical del trazo;
Normalización no lineal de tamaño de ascendentes y
descendentes
4.4.2 FUSIONAR LINEAS
La fusión de líneas en palabras partidas se inicia con la preparación de las imágenes
para el reconocedor de escritura histórica sin contar la extracción de características.
Este preproceso consiste en: binarizar la imagen, corregir la inclinación horizontal de
las palabras, corregir la inclinación vertical de las letras y normalizar la altura de los
descendientes y ascendientes.
Para fusionar dos imágenes deben tener la misma altura; con ese fin se escala la
segunda imagen se mantiene el ratio de aspecto. Si no se corrige la altura se puede
encontrar casos en que las palabras de distintas líneas tienen un tamaño diferente
(Escribà del Arco, 2013).
Luego de fusionar la línea se extrae las características con la herramienta
correspondiente.
4.4.3 SEGMENTACION DE CARACTERES CORTADOS
La tarea es encontrar puntos de segmentación o "cortes", separar las regiones
"entintadas" entre estos puntos y verificar el reconocimiento de estos segmentos,
aislada o combinados con segmentos vecinos. (Jackel L, n.d.)
Se utiliza "cortes tentativos" donde los componentes conectados tienen espacios
entre zona obscurecida.
96
4.5 IMPLEMENTACION DE MEJORA DE CARACTERES
4.5.1 Metodología Gradient Vector Glow (GVF) y Modelo Balloon
El Código de implementación del algoritmo:
def GVF(f, mu, ITER, balloon_force=0):
"""
%GVF Calcula el flujo vectorial de gradiente.
% [u,v] = GVF(f, mu, ITER) calcula el
% GVF de un mapa de bordes f. mu es el coeficiente de regularización del GVF
% e ITER es el número de iteraciones que se calcularán.
"""
La función GVF implementa el método de Flujo Vectorial de Gradiente
(Gradient Vector Flow), que extiende la influencia de las fuerzas de borde hacia áreas
homogéneas de la imagen. Este método utiliza un campo vectorial (, ), inicializado
con los gradientes del mapa de bordes (x , ) lo optimiza para minimizar la energía
definida por:
󰇛
(󰇛󰇜󰇛󰇜󰇜
Donde:
: Mapa de bordes de entrada, típicamente generado a partir de un filtro
como Sobel o Canny.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
97
µ: Coeficiente de regularización, controla el suavizado del campo vectorial, los
valores más altos generan un campo más suave, pero pueden perder detalles de
iteraciones del algoritmo. Más iteraciones producen un campo más convergente.
Balloon_force: Parámetro opcional para incorporar fuerzas expansivas o
contractivas, ajustando el comportamiento del contorno.
Normalización del Mapa de Bordes
[m, n] = f.shape # % Filas, columnas, canales
fmin = np.min(f[:, :])
fmax = np.max(f[:, :])
f = (f - fmin) / (fmax - fmin) # % Normaliza f al rango [0
Es necesaria la normalización del mapa de bordes en el rango [0, 1]
para estabilizar las iteraciones del GVF. La normalización asegura que los valores del
gradiente () y su magnitud estén en un rango consistente.
f = BoundMirrorExpand(f) # % Se encarga de la condición de frontera
[fx, fy] = np.gradient(f) # % Calcula el gradiente del mapa de bordes
u = fx # % Inicializa el GVF con el gradiente
v = fy # % Inicializa el GVF con el gradiente
SqrMagf = fx * fx + fy * fy # % Magnitud al cuadrado del campo de gradiente
BoundMirrorExpand extiende la matriz de la imagen para manejar condiciones de
frontera, evitando artefactos cuando se calculan gradientes cerca de los bordes.
Se calculan los gradientes (x, y) , que representan las fuerzas iniciales hacia los
bordes.
y se inicializan con estos gradientes,
 mide la intensidad del gradiente, utilizada para calcular la atracción
hacia los bordes.
El gradiente || es esencial en la definición del GVF, ya que actúa como la fuerza
de borde inicial. ||2 pondera el término de fidelidad al borde en la energía total (Xu
& Prince, 1997)
for i in range(ITER):
u = BoundMirrorEnsure(u)
98
v = BoundMirrorEnsure(v)
Cada iteración refina el campo vectorial (, ).
BoundMirrorEnsure mantiene valores válidos en los bordes, garantizando
continuidad en las iteraciones.
La iteración sigue un esquema explícito de diferencias finitas, que minimiza
la energía total iterativamente. La convergencia depende del número de
iteraciones y la configuración del coeficiente µ (Giraldi et al., n.d.)
Balloon Model: agregar fuerza de expansión o contracción
normal_force_x = balloon_force * fx / (np.sqrt(fx**2 + fy**2) + 1e-6)
normal_force_y = balloon_force * fy / (np.sqrt(fx**2 + fy**2) + 1e-6)
Balloon Model (Chopra & Rawat, n.d.) introduce una fuerza normal al gradiente
que expande o contrae el contorno para imágenes con bordes débiles o con ruido, ayuda
al contorno a superar huecos o irregularidades. Las fuerzas normales se calculan como:


Donde:
k: (balloon force) define la intensidad de expansión o contracción.
Difusión y Atracción hacia los Bordes
u = u + mu * 4 * del2(u) - SqrMagf * (u - fx) + normal_force_x
v = v + mu * 4 * del2(v) - SqrMagf * (v - fy) + normal_force_y
Donde:
4 * 2(): Difusión, suaviza el campo vectorial para eliminar ruido y generar
continuidad.
 * ( ) ajusta u hacia el gradiente inicial
Normal_force_x y normal_force_y: controlan la expansión o contracción, Balloon
Model.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
99
La ecuación evolutiva combina difusión, atracción y fuerzas adicionales ](Xu &
Prince, 1997) (Chopra & Rawat, n.d.):
󰇛󰇜
Compresión del resultado
u = BoundMirrorShrink(u)
v = BoundMirrorShrink(v)
BoundMirrorShrink, reduce el tamaño de la matriz de entrada eliminando los
bordes externos, ésto se logra seleccionando únicamente los elementos interiores de ,
excluyendo la última fila y columna:
= [0: − 1, 0: 1]
En Código, se eliminan las expansiones de borde aplicadas previamente,
devolviendo el campo vectorial final, listo para aplicarse en un modelo de contornos
activos.
4.5.2 Segmentation ChanVese
El código de implementación del algoritmo:
# Inicializar la función de nivel (Φ) para el mtodo de conjuntos de nivel
IniLSF = np.ones((img.shape[0], img.shape[1]), img.dtype) # Inicializa con valores positivos
IniLSF[30:80, 30:80] = -1 # Define una región inicial con valores negativos
IniLSF = -IniLSF # Invierte la función de nivel
En la función de nivel ϕ, se representa implícitamente el contorno inicial de la
segmentación, toma valores positivos dentro de la región inicial y negativos fuera
(Getreuer, 2012)
Definición de la Función Matemática Auxiliar:
# Función auxiliar para operaciones matemáticas sobre matrices
def mat_math(intput, str):
output = intput
for i in range(img.shape[0]):
for j in range(img.shape[1]):
if str == "atan":
output[i, j] = math.atan(intput[i, j])
if str == "sqrt":
output[i, j] = math.sqrt(intput[i, j])
return output
100
Calcula la raíz cuadrada y la tangente inversa, para suavizar y regularizar
funciones. Estas operaciones son esenciales para manejar la función de nivel y calcular
la derivada regularizada del contorno
Evolución de contorno:
# Método de evolución del contorno utilizando la ecuación de Chan-Vese
def CV(LSF, img, mu, nu, epison, step, show=False):
# Calcular la derivada regularizada y la función Heaviside suavizada
Drc = (epison / math.pi) / (epison * epison + LSF * LSF)
Hea = 0.5 * (1 + (2 / math.pi) * mat_math(LSF / epison, "atan"))
# Calcular gradiente de la función de nivel
Iy, Ix = np.gradient(LSF)
s = mat_math(Ix * Ix + Iy * Iy, "sqrt") # Magnitud del gradiente
Nx = Ix / (s + 0.000001) # Componente X del vector normalizado
Ny = Iy / (s + 0.000001) # Componente Y del vector normalizado
Mxx, Nxx = np.gradient(Nx)
Nyy, Myy = np.gradient(Ny)
cur = Nxx + Nyy # Curvatura media
Implementa la evolución del contorno utilizando una derivada regularizada y la
función Heaviside suavizada (), que asegura estabilidad numérica en el cálculo del
gradiente y la curvatura. Esto regula la actualización de la función de nivel para evitar
discontinuidades (Getreuer, 2012).
Términos de energía:
# Calcular términos de energía de región
s1 = Hea * img
s2 = (1 - Hea) * img
s3 = 1 - Hea
C1 = s1.sum() / Hea.sum() # Promedio dentro del contorno
C2 = s2.sum() / s3.sum() # Promedio fuera del contorno
CVterm = Drc * (-1 * (img - C1) * (img - C1) + 1 * (img - C2) * (img - C2))
Calcula los términos de energía asociados al modelo de Chan-Vese (Getreuer,
2012):
Longitud del contorno: Penaliza curvas complejas, asegurando
regularidad (ν).
Penalización: Controla la suavidad global de ϕ(µ).
Energía de la región: Mide la similitud de intensidad dentro y fuera del
contorno basado en los promedios 1 y 2
Evolución Iterativa:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
101
# Parámetros de evolución
mu = 1 # Peso del término de suavidad
nu = 0.003 * 255 * 255 # Peso del término de longitud
# num = 20 # Número de iteraciones
epison = 1 # Parámetro de regularización para Heaviside
step = 0.1 # Paso de evolución
LSF = IniLSF # Inicializar la función de nivel
# Evolución iterativa de la función de nivel
info = [LSF]
for i in range(1, num):
LSF = CV(LSF, img, mu, nu, epison, step, False) # Actualizar LSF
info.append(LSF) # Almacenar estado de la evolución
Realiza iterativamente la evolución de ϕ, registrando su estado en cada iteración.
Este proceso converge cuando ϕ se estabiliza y el contorno final segmenta
adecuadamente la imagen (Getreuer, 2012)
4.6 REQUERIMIENTOS
Para el sistema de Software que crea, configura, entrena y utiliza redes neuronales.
El sistema crea redes neuronales de tipo FeedForward (FF)
El sistema define la arquitectura de la red neuronal, con su
estructura:
Cantidad de Neuronas en la capa de entrada
Cantidad de Neuronas en la capa de salida
Cantidad de Capas Ocultas
Cantidad de Neuronas en las capas ocultas
El sistema configura el tipo de neurona a utilizar en capas
intermedias u ocultas y en la capa de salida, las funciones de activación de
perceptron:
Sigmoide
Tangente Hiperbólica
El sistema para parametrizar el entrenamiento en redes neuronales,
utiliza las variables:
Conjunto de datos para entrenamiento
102
Taza de aprendizaje (valor por defecto: 0.01)
Épocas o repeticiones.
Error máximo esperado
Precisión mínima esperada
El sistema puede "exportar" una Red Neuronal que almacene su estado
(es decir, los pesos y bias para cada neurona y sus sinapsis).
El sistema puede "importar" una Red Neuronal que haya sido exportada
previamente,.
Las redes neuronales realizan los cálculos para producir una salida, a
partir de un vector de valores de entrada y el estado actual de los pesos de
sus conexiones.
Las redes pueden realizar su entrenamiento y aprendizaje, a partir de la
base de datos que se utilice como entrada.
El sistema tiene estadísticas del rendimiento de la red neuronal durante
el entrenamiento de la red, como las épocas transcurridas, el error y
precisión.
El código del sistema soporta nuevos tipos de red, por ejemplo, Red
Recurrente, LSTM, Neurona Gudermann, entre otros.
Tiene documentación técnica, de funciones y el código implementado.
4.7 DIAGRAMA DE CLASES
La neurona contiene un Axon y Dendritas. El Axon calcula el valor de salida de la
neurona, con el método synapse, que genera el valor de la función de activación de la
neurona. La Dendrite obtiene un valor de entrada, con el método synapse, que usa el
valor almacenado en el axón de la neurona.
De clase Neuron se tienen diferentes subtipos, cada una con el método que calcula
la función de activación para su tipo. Así, la clase Sigmoid, es un tipo de Neuron, cuyo
mtodo “activationFunction” calcula la función Sigmoid 󰇛󰇜
. Del mismo
modo, se implementa la derivada para cada tipo de función de activación.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
103
Las redes neuronales tienen la clase abstracta NeuralNetwork, que define un
comportamiento básico y común para otros tipos de redes neuronales y tiene el
conjunto de neuronas que integran la red, distribuidas en capas, de acuerdo con la
arquitectura de red neuronal que se utilice, luego se definen subclases que tienen el
comportamiento particular para cada tipo.
En la clase NeuralNetwork, se define la subclase FeedForwardNetwork, con lo
necesario para una red neuronal tipo FeedForward. Se implementa el método
createLayers, y se definen las capas de la red neuronal, cuyas neuronas en cada capa,
transmiten la información hacia adelante.
Existe sobrecarga en definición de métodos de creación de redes neuronales para
definir características de la red, como cantidad de neuronas en la capa de entrada, en
la capa de salida, de capas ocultas, tipo de red, tipo de neuronas a usar, y otros
parámetros para la red.
La interfaz DataSet especifica el contrato para implementación que usa la API para
lectura de datos que se usan en entrenamiento y para las pruebas de la red neuronal.
|
0..*
neurons
0..*
<< Class>>
FeedForwardNetwork
network.impl
<<Class>>
NeuralNetworkFactory
network
<< Class>>
NeuralNetwork
network
<<Interface>>
Data Set
network
<< Class>>
Neuron
Network.neuron
<<Class>>
Dendrite
Network.neuron.synapse
<<Class>>
Axon
Network.neuron.synapse
<< Class>>
NeuronFactory
Network.neuron
<< Class>>
Sigmoid
Network.neuron.impl
<<Class>>
Perceptron
Network.neuron.impl
<<Class>>
Sensor
Network.neuron.impl
<<Enumeration>>
NeuronType
Network.utils.type
<<Enumeration>>
Networktype
network.utils.types
dendritas
axon
0..1
axon
0..1
Fig 57: Diagrama de clases red RNN
104
En las imágenes de caracteres de base de datos documentales, de entrenamiento y
prueba, se genera la interfaz DataSet, para que ser utilice por los métodos del proceso.
4.8 PROCESAMIENTO GENERAL DE IMAGENES
4.8.1 Reconocimiento de texto en PDF
El reconocimiento requiere un método para la conversión de tipo de data MultipartFile
(que es el tipo de dato que se envía desde la vista), el siguiente código realiza esto.
El método para el reconocimiento de texto de cada página del pdf, utiliza un tipo de dato
PDDocument que representa en memoria un PDF, se asigna File que es PDF convertido.
El método que realiza el reconocimiento, usa PDFRenderer en memoria y realiza las
configuraciones del tesseract para iniciar el reconocimiento.
<<Package>>
network
<< Interface>>
DataSet
network
<<Package>>
daasets
<<Class>>
MNISTDataSet
datasets
minBatchElement
0..1
<<Class>>
MNISTImage
utils
Fig 58: Diagrama de Clases de Sistema
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
105
El “for” recorre cada página del PDF y el pdfRenderer obtiene como imagen cada página,
para realizar el reconocimiento de texto usando el mtodo “doOR” de tesseract, se almacena
en StringBuilder para retornar todo el reconocimiento (cada hoja se separa con una línea
horizontal).
4.9 IMPLEMENTACIÓN DE COMPONENTES ICR
Para mejorar el reconocimiento de texto se usa componentes que se aplican a la
unidad documental que es la cara de una hoja.
4.9.1 Actividades de preparación de Ambiente
La construcción de componentes requieren las actividades siguientes:
Desarrollo de Algoritmos: De adelgazamiento
Despliegue de Proyecto en Heroku, Anexo B
Adecuación de ejecutables Tesseract para Linux, Anexo C
Desarrollo de BuildPack personalizado, Anexo D
Inicio de Tensorflow , Anexo E
Instalación de dl4j en Spring Boot, Anexo F
106
4.9.2 Resultados de prueba de actividades de preparación
Resultado de ejecución en Heroku funcional:
Utilizando el enlace https://ucps.herokuapp.com/ :
Resultado de TensorFlow:
El siguiente codigo usa todo lo planteado en TensorFlow:
El resultado de la operación se muestra:
Resultado de ejecución DL4J
Se ejecuta de forma local los resultados se muestran de la siguiente forma:
Primero se creará una jerarquía
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
107
Después DL4J nos muestra los recursos que se posee para el
procesamiento:
Luego podemos observar el proceso de entrenamiento:
4.9.3 Arquitectura para componentes de mejora
Es una arquitectura web como servicio para reutilizar en diversas situaciones antes
de la aplicación de ICR base.
108
En el despliegue se tienen componentes de código para:
1. Los paquetes principales (com.sistema.ucps): Empaqueta las
funcionalidades principales de un servidor.
2. Paquete opencv(com.api.opencv): Tiene las funcionalidades de
procesamiento y modificación de imágenes.
3. Paquete tesseract(com.api.tesseract): tiene las clases para el
reconocimiento de texto en imágenes.
4. Carpeta estática(src-main-resources-static): Tiene los componentes
públicos que se exponen al cliente.
4.9.4 Planteamiento de sistema
En el desarrollo del sistema, se usa el framework de spring boot:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
109
Permite integración múltiple para ser escalable con otros proyectos.
Tecnología para un sistema más accesible a cambios o mejoras.
Seguridad.
Framework con mejora continua
.
Clase Principal
El modelo de cliente-servidor inicia su ejecución en esta clase con la anotación
SpringBootAplication como clase principal en el entorno de ejecución. Su función es
inicializar el proceso principal.
Clase Controlador
Esta clase para gestión de procedimientos entre la vista y el modelo. Con anotaciones para
determinar las rutas del sistema así como el tipo de solicitud y las respuestas representadas en
plantillas html.
110
Vista Usando Thymeleaf
Esta librería implementa plantillas y usa las vistas de forma dinámica e interactiva, las
funciones facilitan exposición de información del controlador.
4.9.5 Mejoramiento de Imagen Pre-proceso
Clase Principal PreProcessing
Se implementa la clase principal para el pre-procesamiento, de este modo al instanciar esta
clase se accede a todos los métodos y funcionalidades enfocadas a este preprocesamiento de
imágenes.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
111
Planteamiento de la corrección de ángulo
OpenCV es una librería de código abierto, se utiliza en el procesamiento de imágenes en
tiempo real.
La corrección del ángulo necesita que la imagen sea de texto, además es necesario que esta
imagen no esté invertida o de costado, ya que el preprocesamiento busca enderezar la imagen
antes de reconocer el texto, de ser así, se enderezará la imagen pero el texto podría estar
volteado.
A continuación una imagen de entrada:
Se trazan líneas para poder determinar el grado de inclinación de imagen, con estos datos
Opencv puede calcular el grado de inclinación y, aplicando la rotación podemos enderezar la
imagen.
La imagen de salida estará girada de tal modo que el texto esté correctamente
alineado.
Método de corrección de ángulo
Este método recibe la ubicación de la imagen que procesa, primero crea un Mat el cual es
una clase de Opencv, desde la cual se realiza la gestión de la imagen, luego la imagen se
112
convierte en una escala de grises usando “COLOR_BGR2GRAY”, se realiza la detección del
ángulo, una parte importante es la determinación de la rotación mediante el ángulo, esto se
realiza mediante un If Else que determina si se debe girar a la izquierda o a la derecha, usando
el mtodo “getRotationMatrix2D”, se realiza la rotación para colocar todos los cambios en un
objeto Mat y retornar un BufferedImage que en un paso anterior obtuvo el valor de Mat
.
Corrección de la perspectiva
La transformación de perspectiva es una función para alinear la imagen correctamente.
Modifica la imagen de forma directa después de aplicar la transformación de perspectiva.
Un ejemplo, es transformar la página en la tabla para que aparezca como una vista superior
de la imagen.
La imagen representativa de la corrección a aplicar:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
113
La imagen seleccionada pasa por dos técnicas, la primera se enfoca a la determinación del
contorno y las esquinas.
La segunda técnica corrige la perspectiva en base a estos 4 puntos. La solución
muestra una imagen centrada y recortada.
Corrección de perspectiva
El método de corrección de perspectiva recibe la ubicación de la imagen a procesar, se
realiza una lectura y luego crea un objeto Mat de la imagen, se calcula el contorno de la imagen
y se encuentra los puntos del área a procesar, después se realiza un pintado en forma de círculo
de los mismos y se corrige la perspectiva en base al área otorgada, se convierte en imagen y
se retorna.
114
4.9.6 Reconocimiento inteligente de caracteres
Para el desarrollo de este planteamiento es necesario usar la IA(Artificial Intelligence) con
redes neuronales para determinar el resultado de los caracteres.
Debido a tipos de textos, es importante que la aplicación tenga la capacidad de aprendizaje
de tal manera que pueda reconocer palabras desde distintas fuentes y caligrafías.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
115
El modelo es el deep-learning para un aprendizaje supervisado en las imágenes de entrada
lo cual en cada procesamiento o iteración se puede ir definiendo lo caracteres contenidos para
luego utilizarlos a futuro como referencia:
Para el entorno de desarrollo el lenguaje Python y java. Los pasos de reconocimiento es el
procesamiento de la imagen, que implementa métodos de segmentación y se extrae los campos
obligatorios de la entrada:
Para el método de reconocimiento se usa el concepto de correlación, se prepara una
biblioteca que contiene las muestras de todo tipo de caracteres diferentes que necesitan ser
reconocidos. La biblioteca, tiene imágenes para comparar con todas las imágenes que puedan
tener similitud máxima que es el valor más alto de correlación, se reconoce como la
coincidencia correcta y se escribe para base de datos. Para los caracteres escritos a mano y
marcas de verificación, se usa la red neuronal para el reconocimiento:
Imagen de
entrada
Preprocesamiento
de imagen
Segmentación de
imagen
Reconocimiento
de texto
Entrada de datos
en Base de datos
Fig 59: Proceso de reconocimiento
116
4.9.7 ICR usando Deep Learning
Para el reconocimiento de caracteres es importante estandarizar las imágenes en varios
sentidos, debe ser de un tamaño predeterminado (que en este caso será 28x28), luego el patrón,
se transforma a escala de grises (las imágenes RGB usan tres capas y la escala de grises solo
una). Es necesario invertir los colores para que el fondo sea negro y tengan el valor de 0’ y el
resto otro valor. La imagen preparada Mij servirá como entrada.
El preprocesamiento genera entrada para Deep Learning o aprendizaje profundo, éste se
define como un algoritmo automático estructurado o jerárquico que emula el aprendizaje
humano con el fin de obtener conocimiento. No requiere de reglas programadas previamente,
el propio sistema es capaz de «aprender» por mismo luego de una fase previa de
entrenamiento
La implementación del código utiliza la librería de DL4J en reemplazo de Tensorflow,
debido a que DL4J es mejor como api java y Tensorflow es inestable para java.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
117
4.9.8 Reconocimiento de texto deteriorado con Tensor Flow
Sistema de reconocimiento de texto implementado con Tensor Flow (TF) y entrenado en
el conjunto de datos HTR fuera de línea de IAM. El modelo toma imágenes de palabras
individuales o líneas de texto (varias palabras) como entrada y genera el texto reconocido. El
75% de las palabras del conjunto de validación se reconocen correctamente y la tasa de error
de caracteres es de alrededor del 10%.
En directorio src, se ejecuta el código de inferencia:
Ejecutar python main.py para ejecutar el modelo con imagen de una palabra.
Ejecutar python main.py --img_file ../data/line.png para ejecutar el modelo con ejemplo
de una imagen de una línea de texto. Las imágenes de entrada y las salidas esperadas usando
el modelo de línea de texto:
Resultado
python main.py --img_file ../data/line.png
4.9.9 Base de datos para el entrenamiento y prueba
La base de datos “mnist_png” proporciona 60000 imágenes para realizar el entrenamiento,
se usa las imágenes formateadas de los caracteres numéricos en el modelo desarrollado.
118
Fig 60: Tipos de caracter
El pre-procesamiento realizado a las imágenes se inicia con el reconocimiento de los
caracteres, luego el binarizado para poder tener la imagen en blanco y negro, lo siguiente es
invertir los colores y tener la imagen lista tambien el tamaño de la imagen de 28 x 28 (la
imagenes entrenadas presentan este tamaño).
Resultado
La imagen de entrada presenta los caracteres que se van a reconocer, estos caracteres son
reconocidos y recortados.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
119
El recorte es de cada carácter, el formateo del tamaño para una dimensión de 28 x 28 y ser
usadas en el modelo.
El reconocimiento hace uso del entrenamiento ya realizado y almacenado como un
archivo, para obtener el archivo y almacenarlo para su uso en la predicción, se tiene el siguiente
código:.
Ejecución del reconocimiento de caracteres:
El reconocimiento es exitoso, se llega a reconocer cada uno de los caracteres de la imagen
de entrada.
salida0 : 2
salida1 : 3
120
salida2 : 4
salida3 : 7
salida4 : 0
salida5 : 5
4.9.10 Redes neuronales Convolucionales y Recurrentes para la
segmentación.
a) Modelo de segmentación
El modelo está compuesto por capas convolucionales para reducir e identificar
características relevantes de cada imagen, luego estas pasan por las redes
neuronales recurrentes LSTM para identificar los puntos de corte en la secuencia
y finalmente ajustar la salida según los objetivos establecidos:
b) Procesos de extracción y estandarización de datos ETL
Proceso que ayuda con la entrada y salida de datos en la red neuronal. para
ello es necesario establecer parámetros de tamaño y cantidad de los datos.
Proceso de lectura:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
121
Proceso de estandarización:
c) Construir modelo de red neuronal
Luego del modelo conceptual se implementa así:
122
4.9.11 Modelo de red neuronal para la segmentación
El desarrollo de la red neuronal para la segmentación consta de tres etapas:
a) Compuesto por las redes convolucionales que extraen las características más
resaltantes de la imagen y la exponen en la siguiente capa.
b) Las redes neuronales recurrentes, mas específicamente las Long short-term
memory (LSTM) recepcionan las imágenes de la capa anterior aplanadas para
almacenar sus características respecto a la anterior neurona y optimizar el aprendizaje.
c) Es la salida, donde se define si la imagen procesada es un punto de corte o no.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
123
Representación de modelo en Python
El modelo implementado se visualiza de la siguiente manera:
El código es:
124
4.10 POST-PROCESO
La precisión de ICR se puede mejorar si la salida es restringida por un léxico, una
lista de palabras que ocurren en un documento, es decir, corregir las palabras en el
idioma español, o un léxico más técnico para un campo especifico. Esta técnica puede
ser problemática si el documento contiene palabras que no están en el léxico, como los
nombres propios. Tesseract utiliza su diccionario para influir en el paso de
segmentación de caracteres, para mejorar la precision.
4.10.1 IMPLEMENTACIÓN DE ALGORITMO DE PETER
NORVIG
La lógica de este algoritmo y en codigo python, se considera los siguientes
componentes:
a) Importación y descarga de corpus
import nltk
from collections import Counter
import re
# Descarga del corpus de Cess_esp
nltk.download('cess_esp')
from nltk.corpus import cess_esp
b) Formateo de texto
def palabras(texto):
return re.findall(r'\w+', texto.lower())
c) Preparación de Corpus
# Unión de todos los textos del corpus de Cess_esp en un solo string
texto_corpus = ' '.join([' '.join(sent) for sent in cess_esp.sents()])
# Construcción de un diccionario de frecuencias de palabras
WORD_COUNTS = Counter(palabras(texto_corpus))
d) Formateo de Texto
def probabilidad(palabra, N=sum(WORD_COUNTS.values())):
"Probabilidad de la palabra."
return WORD_COUNTS[palabra] / N
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
125
def correcciones(palabra):
"Generar todas las correcciones posibles para la palabra."
return (conocido([palabra]) or conocido(ediciones1(palabra)) or
conocido(ediciones2(palabra)) or [palabra])
def conocido(palabras):
"Filtrar las palabras que están en el diccionario."
return set(w for w in palabras if w in WORD_COUNTS)
e) Lógica de algoritmo Peter Norvig
def ediciones1(palabra):
"Generar ediciones a una distancia de la palabra."
letras = 'abcdefghijklmnopqrstuvwxyzáéíóúñ'
divisiones = [(palabra[:i], palabra[i:]) for i in range(len(palabra) + 1)]
# [('', 'gato'), ('g', 'ato'), ('ga', 'to'), ('gat', 'o'), ('gato', '')]
eliminaciones = [L + R[1:] for L, R in divisiones if R]
# eliminaciones = [L + R[1:] for L, R in divisiones if R]
transposiciones = [L + R[1] + R[0] + R[2:] for L, R in divisiones if len(R)>1]
# ['agto', 'gtao', 'gaot']
reemplazos = [L + c + R[1:] for L, R in divisiones if R for c in letras]
# ['aato', 'bato', ..., 'zato', 'áato', 'éato', ..., 'ñato', 'gato', 'gcto', ..., 'gzto', 'gáto', 'géto',
..., 'gñto', ...]
inserciones = [L + c + R for L, R in divisiones for c in letras]
# ['agato', 'bgato', ..., 'zgato', 'ágato', 'égato', ..., 'ñgato', 'gaato', 'gbato', ..., 'gzato',
'gáato', 'géato', ..., 'gñato', ...]
return set(eliminaciones + transposiciones + reemplazos + inserciones)
def ediciones2(palabra):
"Generar ediciones a dos distancias de la palabra."
return (e2 for e1 in ediciones1(palabra) for e2 in ediciones1(e1))
def corregir(palabra):
"Corregir la palabra mal escrita."
return max(correcciones(palabra), key=probabilidad)
f) Resultados generados
Para la prueba se utiliza una imagen digitalizada en español con caracteres
deteriorados como se exhibe en la fig a, se aplica el algoritmo de corrección de
palabras y se obtiene el texto de la fig b:
Fig 61: Resultados de texto deteriorado procesado
126
4.11 IMPLEMENTACIÓN DE GESTIÓN DOCUMENTAL
Se considera dos etapas de gestión documental, la primera referente para completar
las palabras clave de búsqueda de documentación histórica y, la segunda en la que se
considera operaciones de digitalización.
4.11.1 Determinar palabras clave para búsqueda documental
Usualmente la documentación histórica no está etiquetada con palabras clave para
búsqueda posterior, las que se pueden determinar de manera manual y automática, en
éste último caso se utiliza el algoritmo TF-IDF, que tiene las actividades de
identificación de palabras (tokenización), cálculo de frecuencia de término (TF),
cálculo de frecuencia de documento inverso, cálculo de TF-IDF, construcción de árbol
AVL(Adelson-Velsky y Landis)
c) Tokenización, proceso de dividir el texto en unidades
lingüísticas más pequeñas, generalmente palabras o frases, conocidas como
tokens:
def tokenize(self, text):
tokens = re.findall(r'\b\w+\b', text.lower())
return [token for token in tokens if token not in STOP_WORDS and not token.isdigit()]
Es una expresión regular para encontrar todas las palabras en el texto, luego se
convierte el texto en minúsculas para asegurar la consistencia y, se filtran las
palabras vacías (stop words) y los dígitos.
d) Cálculo de TF (Term Frequency), para medir cuántas veces
aparece un término en un documento, normalizado por el número total de
términos en el documento:
def calculate_tf(self, tokens):
tf = defaultdict(float)
token_count = len(tokens)
for token in tokens:
tf[token] += 1.0 / token_count
return tf
Conteo de la frecuencia de cada token en el documento, y se normaliza la
frecuencia dividiendo por el número total de tokens.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
127
e) Cálculo de IDF (Inverse Document Frequency) es la frecuencia
inversa de documento (IDF), mide la importancia de un término en el
corpus completo, penalizando los términos que son comunes en muchos
documentos
def calculate_idf(self, corpus):
idf = defaultdict(float)
doc_count = len(corpus)
for document in corpus:
tokens = set(self.tokenize(document))
for token in tokens:
idf[token] += 1.0
for token in idf:
idf[token] = math.log(doc_count / (1.0 + idf[token]))
return idf
f) Calculo TF-IDF, es un valor que combina TF e IDF para
proporcionar una medida de importancia de un término en un documento
dentro de un corpus:
def calculate_tfidf(self, tf, idf):
tfidf = {term: tf[term] * idf.get(term, 0.0) for term in tf}
return tfidf
4.11.2 Proceso de digitalización
El sistema de gestión documental orientado al registro de documentación física,
para un mejor control y para un registro histórico de los documentos, redefine los
procesos de Digitalización, Control de calidad, edicion de imagen, archivamiento
digital y firma digital:
Para la configuración se considera los siguientes datos.
128
- Configuración del Servidor (IP, puerto)
- Configuración del scanner
- Empresa
- Categorías
- Tipos de documentos y agrupamientos (en caso de tenerlos)
- Metadata por tipo de documento
4.11.3 Actividad de Digitalización
Se inicia con el acopio físico documental por lotes cuantificados según capacidad de línea
de producción y política de aprovisionamiento de la entidad.
a) Predigitalización
Conteo de la cantidad de hojas del documento,se determina el número de hojas por
agrupamiento y detalles de documento. Los documentos se van agrupando en lotes para ser
escaneados.
b) Escaneo
Se presenta una gama de mixtura de documentos con diferentes tipos de hojas, ya
sea el tamaño, grosor entre otros. Se visualizan los documentos escaneados mediante
conjunto de imágenes pequeñas y el último documento digitalizado en un formato mas
grande, de esta manera se visualiza lo que esta digitalizando y a la vez los últimos
documentos digitalizados
Se indica si el documento está distribuido en lotes. Posteriormente se ingresan
los datos de los documentos contenidos en el lote. La visualización de documentos
durante escaneo:
Según tipo de documento por agrupamiento se genera una pestaña y se exhibe el numero
de hojas que contendrá cada agrupamiento.
Fig 62: Visualización de digitalización
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
129
El formato de almacenamiento es pdf.
- El documento se conformará por varios pdf
- Cada pdf tiene como limite 12 MB
La limpieza considera las siguientes funcionalidades:
- Alineación de documentos
- Eliminación de bordes negros (porcentaje de borrado externo)
- Eliminación de hojas en blanco
c) Control de Calidad
La revisión se realiza por documento, en este punto un documento puede ser APROBADO
ó INCOMPLETO, o parte de él, puede ser rechazado o a edición.
Paginas rechazadas:
130
Las páginas de un documento pueden ser rechazados en caso de presentar páginas:
- Cortadas
- Deformadas (hojas jaladas)
- Falta nitidez (resolución)
Paginas a edición
Las páginas enviadas a mejorar imagen es por los siguientes casos:
- De cabeza (girar 90ª)
- Muy oscuras o claras (brillo, contraste)
- Páginas que requieren pasar de a colores a escala de grises o blanco y
negro
- Brillo (slider +-)
- Contraste (slider si/no)
- Cortar exterior o sectores
- Borrar
- Full screen
- Encuadrar imagen en un marco
4.11.4 Actividad de Archivamiento
Ingreso/Actualización de metadata
Se ingresan metadatos de los documentos, se realiza el filtrado de documentos, con los
criterios de búsqueda: fecha, empresa, tipo de documento y código del documento. Ordenado
por fechas en forma descendente.
Registro de Metadata
Se realiza la primera vez que se registran los metadatos, los valores iniciales que tiene un
detalle es:
CAMPONUEVO = F
METADATACOMPLETA = F
Para exhibir la información de los metadatos se lee de la Base de datos el archivo XML,
se usa parser lectura xml de información:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
131
4.11.5 Modelo Relacional
La base de datos considera esencialmente el tipo de documento, sus detalles y, la
opción de agrupamiento:
4.11.6 Arquitectura del Sistema de Gestión Documental
a) Presentación: con patrón de diseño Modelo-Vista-Controlador:
Vistas: Páginas web JSP con tag libraries de SpringMVC que despliegan
formularios al usuario.
Controladores: Controladores de SpringMVC, que reciben y procesan las
solicitudes del usuario.
XML
132
Modelos: objetos reutilizados de la capa de modelo de dominio.
b) Lógica de negocio:
Capa de business: Componentes encargados de ejecutar procesos complejos
de la lógica de negocio, que interactúan con los objetos del modelo de dominio.
Capa de servicio: Componentes con la estructura conceptual que representa el
dominio de la aplicación, en la forma de JavaBeans tradicionales.
c) Dominio:
Capa de datos: Capa de implementación de acceso a datos: ORM Spring
d) CLIENTE
Sistema operativo
Multiplataforma
Browser
Mozilla, Google chrome, Edge
Tecnologias utilizadas
applet,jsp, jquery
Lenguajes utilizados
javascript
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
133
e) SERVIDOR
Sistema operativo
Multiplataforma
Servidor de aplicación
Apache Tomcat 7.0
Lenguajes utilizados
J2EE
Frameworks Utilizados
Spring MVC,
f) SERVIDOR DE BASE DE DATOS
Sistema operativo
Multiplataforma
Gestor de base de datos
postgreSQL
4.11.7 Despliegue del Sistema de Gestión Documental
Se utiliza el modelo vista controlador, para el cual se considera los components de
despliegue:
En el entorno de programación del sistema, para entorno gráfico, de servidores, entre
otros, se utiliza el siguiente cuadro de especificación.
134
Tecnología utilizada
Descripción
Lenguaje programacion JAVA
Lenguaje de programación de propósito general ,
concurrente, orientado a objetos que fue diseñado
específicamente para tener tan pocas dependencias de
implementación como fuera posible.
Netbeans
Entorno para el desarrollo de aplicaciones para el lenguaje
java, soporta el desarrollo de J2SE, web, EJB y aplicaciones
móviles.
Postgres
Gestor de bases de datos relacional orientado a objetos y
libre, publicado bajo la licencia PostgreSQL
Servidor Tomcat Apache
Tomcat implementa las especificaciones de los servlets y
de JavaServer Pages (JSP) de Oracle Corporation
Navegador Mozilla Firefox
Es un navegador web libre y de código abierto8
desarrollado que guarda las versiones anteriores de sus
navegadores para el uso de applets en el módulo de
digitalización
4.11.8 Diagrama General de Casos de Uso
Se considera el caso de uso general en el que se observa principalmente el rol
digitador y las actividades del mismo:
Fig 64: Diagrama general de proceso digitalización
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
135
Y actores complementarios como Editor, Archivador, Validador y Fedatario:
Fig 65: Actores complementarios digitalización
4.11.9 Diseño de Interfaces Mockups
Para el diseño de interfaz para los módulos de digitalización y archivamiento, coherente
con las especificaciones y casos de uso se genera los mockups:
136
Digitalización
Fig 66: Interfaz para digitalizar
Archivamiento:
Fig 67: Interfaz para archivamiento
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
137
5 Presentacn, Análisis e Interpretación
de resultados
5.1 RESULTADOS DE SEGMENTACION DE CARACTERES
INCOMPLETOS
La implementación, ejecución y pruebas del algoritmo gradient vector flow
(GVF) + balloom genera resultados de mejora en la segmentación de caracteres,
esta mejora depende de los parámetros aplicados al algoritmo:
En esta segmentación se incluye el delineamiento de la forma del caracter con
mas claridad y que mejora significativamente el reconocimiento de la imagen. La
prueba en documentos textuales genera:
Por simple observación se tiene un mejoramiento significativo de la información
de imagen.
138
5.2 RECONOCIMIENTO DESPLIEGUE DE PROYECTO EN NUBE
(HEROKU)
Para desplegar el proyecto se crea una cuenta en la nube (Heroku), para gestionar y operar
con la consola o como interfaz.
Se instala la app-desktop para subir el proyecto desde dispositivo:
5.3 PRUEBA DE CLASIFICACION
Las pruebas se realizan con los métodos de clasificación del proyecto, y los
resultados a cuantificar el desempeño y precisión de los clasificadores.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
139
Se muestra un diagrama de barras, el cual contiene los indicadores de los métodos
de mejora que se utilizan:
5.4 RESULTADOS
5.4.1 ESPERADOS
La expectativa del proyecto es el reconocimiento de un texto deteriorado para su
intepretación mas aceptable:
Fig 68: Indicador de resultados de algoritmos
Fig 69: Expectativa de resultados
140
5.4.2 Prueba y reconocimiento
Una prueba se realizó con imagen deformada.
Fig 70: Corrección de Angulo de imagen
El reconocimiento de la imagen original llegó al 33 por ciento. Por otro lado vemos que la
corrección de la perspectiva ayudó a reconocer completamente el texto mejorando así el
porcentaje al 92 por ciento.
5.4.3 Resultado de despliegue
Para observar nuestra página se encuentra el siguiente enlace
https://jsilvaf.pythonanywhere.com/.com:
Fig 71: Infraestructura de Implementación y Pruebas
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
141
5.4.4 Resultados Generales
Se obtiene los resultados siguientes:
a) Se implementa algunos algoritmos para procesar caracteres
deteriorados, configurando parámetros para determiner las mejores
condiciones para resultados óptimos.
b) Se utliza base de datos documental histórica de la Asociación de
Latinoamericana de Archivos (ALA):
https://alaarchivos.org/cuentan-los-documentos-q/
Para evaluar los resultados del sistema se considera: la tasa de error de palabras o
“word error rate” (WER) y, la tasa de error de clasificación. Con la primera se evalúa
la fase de reconocimiento y, con la segunda la propia fase de categorización de frases
reconocidas.
5.4.5 EVALUACION CUANTITATIVA
La evaluación de los resultados de reconocimiento consiste básicamente en
determinar el grado de reconocimiento alcanzado en cada uno de los documentos de
texto histórico deteriorado con el fin de interpretar su contenido y, generar palabras
clave para recuperación posterior, de éstos textos, se definen tres grupos:
Tipo 1: Correctamente reconocidas. Incluye frases no totalmente reconocidas
(fallos en el reconocimiento de algunas palabras), con sentido semántico, sin
ambigüedades.
Tipo 2: Con pocos fallos en el reconocimiento de palabras, conservando sintáxis
coherente y tienen sentido semántico; con interpretaciones diferentes a la original
(cambio semántica) y clasificación errónea.
Tipo 3: Con número de errores que producen desorden en estructura sintáctica (sin
sentido) y, sin clasificación
142
Ejemplos de frases de “Tipo 1” correctamente bien reconocidas:
Ejemplo de frase de “Tipo 2” con pocos fallos, dan lugar a interpretaciones
diferentes:
Ejemplo de frase de “Tipo 3” completamente mal reconocida
5.4.6 EVALUACION DE RENDIMIENTO
Se consideran tres índices de rendimiento diferentes:
Tasa de reconocimiento, la proporción de caracteres
correctamente clasificados.
Tasa de rechazo, proporción de caracteres que el sistema no
pudo reconocer. con caracteres marcados por el sistema ICR, rastreables
para la corrección manual.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
143
Tasa de error, proporción de caracteres clasificados
erróneamente, son caracteres mal clasificados no detectados, es necesaria
inspección manual para detectar y corregir estos errores.
5.4.7 Reconocimiento de imagen
En la figura 72a se exhibe documento digitalizado, en la figura 72b la
modificación utilizando algoritmo de aproximación y en la figura 72c las palabras
corregidas, y en la figura 72d, palabras clave del documento.
5.4.8 Indicadores de reconocimiento
Fig 72: Resultados de reconocimientp de la imagen y palabras clave
Fig 73: Indicador de evaluación de algoritmos de aproximación
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
145
6 Propuesta de Mejora
De los objetivos propuestos referentes al trabajo:
a) La mejora de resultados en el proceso de reconocimiento de caracteres
desde la documentación histórica en la que se tiene información textual
deteriorada, la propuesta es utilizar algoritmos en las etapas de pre y post
proceso:
Pre-proceso, caracteres rotos (2.19, Pág. 55), con este algoritmo
propuesto en lectura de la referencia, se implementa y se logra una mejora
significativa en el reconocimiento de caracteres dañados.
Post-proceso, análisis semántico (4.9, Pág. 113), con este
algoritmo luego de un análisis semántico y con un diccionario del lenguaje
español se identifica y completa la palabra que hasta ésta etapa no se
interpreta como tal.
b) En el proceso de gestión documental con la finalidad de recuperación
adecuada en contenido y forma se realiza:
Diseño de proceso de acopio y captura de información
documental histórica con las consideraciones de equipo físico adecuado
con fines de conservación de fuentes de origen
El indexamiento se realiza con metadatos según tipo de
documento y para metadatos multivaluados utilizando un algoritmo que
identifica términos llave con fines de consulta exhaustiva.
La conformación de documento se realiza previa identificación
de document considerando de segmentos de pagina, paginas, agrupamiento
de paginas según estructura típicamente reconocidas.
La consulta y recuperación del documento se realiza con
expresiones utilizando valores de metadatos, operadores lógicos para
búsqueda específica y aproximada.
146
c) Arquitectura de Gestión documental eficiente: El entorno e
implementación de la solución es:
d) Arquitectura de componentes de Gestión documental con
requerimientos de distribución, seguridad y valor, los que se integran en la
tecnología Blockchain:
Capa de Seguridad Marco de Trabajo SPRING
Distribucion / API
Reporte y Est
Almacenamiento
Motor de Metadato y catálogo
Motor
Búsqueda
Corazón
Motor de flujo de Trabajo
Interfaz Usuario
Web
WebDAV
MS Office
Mobile
Tablet
CMIS
WebService
RestAPI
SDK Net
Seguridad SPRING
Administrador Seguridad Conectable
Enlace de servicios de componentes
Configuración SPRING
Autenticación
extensible
LDAP
DBMS
Documentos
Carpetas
Registros
Correos
JBPM
BPM Conectable
Hibernate / JPA
Extractores
de texto
extensible
Base
Datos
Almacén de datos de
sistema de Archivos
Almacén de datos
Conectables
Lucene
Extractor Metadato
extensible
Eventos
Conectables
Motor ICR
Lector código
barras
Estados
Hibernate
Reportes
Jasper
Analisador de Antivirus
Fig 74: Arquitectura de Gestión documental eficiente
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
147
Fig 75: Sistema Blockchain para transacciones de Gestion documental
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
149
7 Conclusiones
En el reconocimiento se utilizan léxicos cerrados. El léxico contiene sólo las
entradas de las palabras que aparecen en el conjunto sobre el que se realiza el
reconocimiento. .
El preprocesamiento UPV y la estimación PCA mejora la tasas de error, entonces,
los resultados sobre las características de intensidad son mejores que los resultados
sobre las características de Sobel(Röder, 2009)
El uso de los algoritmos de mejoramiento de información gráfica de para caracteres
deteriorados, permiten resultados eficientes que se mejora con parámetros de
configuración.
Se tienen diversas topologías con funciones específicas y en la combinación de
ellas surge la adaptabilidad del algoritmo
La corrección de palabras utilizando corpus/diccionarios es eficiente en la medida
de realizar evaluación de contexto semántico.
Los métodos para corregir los caracteres deteriorados afectan la tarea de
clasificación luego de detección de palabras se realiza clasificación.
La corrección de palabras utilizando corpus/diccionarios es eficiente en la medida
de realizar evaluación de context semántico
Las principales ventajas de esta herramienta son que permite crear modelos con
distintas configuraciones, la selección automática de la mejor combinación y la
muestra de resultados en distintas métricas. Además, contempla la opción de cross
validation, que crea diferentes particiones para crear varios modelos y hacer cálculos
más robustos.
El redimensionamiento de la matriz para trabajar con imágenes más reducidas
permite ahorro de tiempo y complejidad en la creación de los modelos.
Con el método basado en la reducción de dimensionalidad y la selección de
características se obtiene un acierto creciente en el reconocimiento de los caracteres
deteriorados..
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
151
8 Recomendaciones
El escenario actual de la documentación histórica institucional no tiene una
proyección temporal prometedora, sino de un aumento del riesgo de pérdida de de
patrimonio institucional que en un gran porcentaje tiene valor legal, entonces es importante
considerar:
Identificar físicamente documentación con valor legal e histórico institucional y realizar
la preparación de la misma con fines de recuperación digital.
Determinar y utilizar equipos físicos de captura de información documental histórica
considerando estado de conservación de ésta, para evitar riesgos de deterioro.
Fijar objetivos generales y específicos para la generación, actualización y matenimiento
de información histórica digital
Revisar y adoptar proceso adecuado de gestión documental histórica orientado
principalmente a recuperación de forma y contenido con metodologías y herramientas simples,
seguras y de resultados.
152
Referencia Bibliográfica
Abdulwahhab Hamad, K., & Kaya, M. (2013). A Detailed Analysis of Optical Character
Recognition Technology. In Original Research Paper This journal is © Advanced
Technology & Science (Issue 4). http://ijamec.atscience.org
Arturo, C., Álvarez, M., Surcolombiana, U., De, F., Sociales, C., Humanas, Y., De
Comunicación Social, P., Periodismo, Y., & Monje Álvarez, C. A. (2011).
METODOLOGÍA DE LA INVESTIGACIÓN CUANTITATIVA Y CUALITATIVA Guía
didáctica.
Breuel, T. M. (n.d.). The OCRopus Open Source OCR System.
Chopra, A., & Rawat, S. (n.d.). Active Contours, Gvf and Balloon Model. In Praveen
KumarInternational Journal Of Computational Engineering Research (Vol. 2, Issue 2).
Ciresan, D. C., Meier, U., Gambardella, L. M., & Schmidhuber, J. (2010). Deep Big Simple
Neural Nets Excel on Handwritten Digit Recognition.
https://doi.org/10.1162/NECO_a_00052
Custodio, A. (2016). Tess2Speech: An Intelligent Character Recognition-To-Speech
Application for Android Using Google’s Tesseract Optical Character Recognition
Engine.
Daniel, J., & Martin, J. H. (2024). Speech and Language Processing.
Elmi, M. A., & Evens, M. (1998). Spelling correction using context. Proceedings of the 17th
International Conference on Computational Linguistics -, 1, 360.
https://doi.org/10.3115/980451.980906
Escribà del Arco, A. (2013). Reconocimiento De Escritura No Basado en Líneas.
Getreuer, P. (2012). Chan-Vese Segmentation. Image Processing On Line, 2, 214224.
https://doi.org/10.5201/ipol.2012.g-cv
Giraldi, G. A., Marturelli, L. S., & Rodrigues, P. S. (n.d.). GRADIENT VECTOR FLOW
MODELS FOR BOUNDARY EXTRACTION IN 2D IMAGES.
http://iacl.ece.jhu.edu/projects/gvf/faq.html
Gonzalez, B. M. (2012). Iris: A Solution for Executing Handwritten Code [University of
Agder]. https://core.ac.uk/download/pdf/225888017.pdf
Guerrero Alejandra, & Silva, G. (n.d.). Extracción de palabras clave usando hipergrafos.
Jackel L, B. M. B. J. B. J. B. C. B. H. (n.d.). Neural-Net Applications in Character
Recognition and Document Analysis.
Kass, M., Witkin, A., & Terzopoulos, D. (1988). Snakes: Active Contour Models.
Kusuma, A. T. A., & Ratnasari, C. I. (2023). COMPARISON OF SPELL CORRECTION IN
BAHASA INDONESIA: PETER NORVIG, LSTM, AND N-GRAM. JIKO (Jurnal
Informatika Dan Komputer), 6(3), 214220. https://doi.org/10.33387/jiko.v6i3.7072
Lavrenko, V., Rath, T. M., & Manmatha, R. (n.d.). Holistic Word Recognition for
Handwritten Historical Documents.
Martnez Mndez, F. Javier. (2004). Recuperacin de informacin : modelos, sistemas y
evaluacin. Kiosko.
Miralles, L., Pelayo, R., & Brieva, J. (2015). Reconocimiento de dígitos escritos a mano
mediante métodos de tratamiento de imagen y modelos de clasificación. In 83 Research
in Computing Science (Vol. 93).
Moyotl-Hernández, E. (n.d.). Spell Checking Method Based on the Frequency of Letters.
https://www.google.com
Rabaev, I., Biller, O., El-Sana, J., Kedem, K., & Dinstein, I. (n.d.). Text Line Detection in
Corrupted and Damaged Historical Manuscripts.
Röder, P. (2009). Adapting the RWTH-OCR Handwriting Recognition System to French
Handwriting.
Rubio Sánchez, H., José, & Murillo Fuentes, J. J. (2017). Deep Learning para el
Reconocimiento de Texto Manuscrito.
Seijas, L. M. (2011). Reconocimiento de patrones utilizando técnicas estadísticas
y conexionistas aplicadas a la clasificación de dígitos manuscritos.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
153
Silva Gabriel, & Dueire Rafael. (2010). HistDoc - A toolbox for processing images of
historical documents. Lecture Notes in Computer Science (Including Subseries Lecture
Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6112
LNCS(PART 2), 409419. https://doi.org/10.1007/978-3-642-13775-4_41
Sucar, L. E. (n.d.). Redes Bayesianas.
Taulé, M., & Martí M A. (n.d.). Semantic Classes in CESS-LEX: Semantic Annotation of
CESS-ECE 1.
Tolosa Gabriel H, B. F. R. A. (2016). Introducción a la Recuperación de Información.
http://eprints.rclis.org/12243/1/Introduccion-RI-v9f.pdf
Valero, I. (2017). Técnicas estadísticas en Minería de Textos.
Ventzas, D., Ntogas, N., & Ventza, M.-M. (n.d.). Digital Restoration by Denoising and
Binarization of Historical Manuscripts Images. www.intechopen.com
Xu, C., & Prince, J. L. (1997). Gradient vector flow: A new external force for snakes.
Proceedings of the IEEE Computer Society Conference on Computer Vision and
Pattern Recognition, 6671. https://doi.org/10.1109/cvpr.1997.609299
Xu, C., & Prince, J. L. (1998). Snakes, shapes, and gradient vector flow. IEEE Transactions
on Image Processing, 7(3), 359369. https://doi.org/10.1109/83.661186
Yadav, D., Sánchez-Cuadrado, S., & Morato, J. (2013). Optical character recognition for
Hindi language using a Neural-network approach. Journal of Information Processing
Systems, 9(1), 117140. https://doi.org/10.3745/JIPS.2013.9.1.117
Zdeněk, J. (2014). Mobile Application for Recognition of Japanese Writing System.
Zea Evelin. (2016). SISTEMA DE GESTIÓN DOCUMENTAL ELECTRÓNICA, DESDE EL
ISO 15489.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Indice 155
Indice
156 Anexos
Anexos
Anexo A
Algoritmo de Adelgazamiento [23]
Pseudocodigo para patrones 2D
// Thinning function where pattern is a 2D array of size N1 X N2
// returns the skeleton
function thin (pattern) :
while True :
img2 ← img . copy()
//delete along horizontal axis
For x in range (0, pattern .shape [ 0 ] ) do : // pattern . shape= [N1, N2]
y ← 0
while y < pattern . shape [ 1 ] :
// assuming foreground pixels = 1 and background d pixels = 0
if img [ x , y ] = 1 :
Pb ← [ x , y ]
while img [ x , y ] = 1 :
yy + 1
y ← y - 1 // backtrack one step
Pf ← [ x , y ]
if not ( Pf = Pb ) :
//check for deletion of Pf
Np ← nbr_locs ( Pf , pattern )
flag ← 0 // flag = 0 indicates that Pf is deletable
//check for end-point
if sum ( Np ) <= 2 :
flag ← 1
//check for connectivity
for nbr in Np do :
if nbr [ 1 ] > Pf [ 1 ] : // neighbor ahead of Pf
if pattern [ nbr [ 0 ] , nbr [ 1 ] ] = 1 :
temp_nbrs = nbr_locs ( nbr , pattern )
NF ← [ ]
for n in temp_nbrs do:
if n [ 1 ] < nbr [ 1 ] :
Nf .add ( n )
S ← Nf ∩ Np – Pf
if sum ( s ) = 0 :
flag ← 1
if flag = 0:
pattern [Pf [ 0 ] , Pf [ 1 ] ] ← 0
if not ( pattern [ Pb [ 0 ] , Pb [ 1 ] 1 ] ) = 0 : // trivial condition
// check for deletion of Nb
//delete along vertical axis
if img2 = img :
break
return img
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 157
Anexo B
DESPLIEGUE DE PROYECTO EN HEROKU
Para deployar el proyecto se crea una cuenta en Heroku, y gestionar proyectos mediante
consola o interfaz.
Se instala la app-desktop para subir el proyecto desde dispositivo:
La primera configuración necesaria para nuestro proyecto será especificar el java utilizado
(que en nuestro caso es el java 11). Para ello creamos en el directorio principal el archivo
“system.properties” y en ella le agregamos lo siguiente:
158 Anexos
Tesseract también se ejecutará en el servidor, entonces es necesario especificar a Heroku que
el hilo principal estará ocupado por nuestro proyecto en java, por ende creamos un archivo
“Procfile” donde escribimos lo siguiente:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 159
Anexo C
TESSERACT EN SERVIDORES LINUX.
Maven construye el proyecto Tesseract direccionando los ejecutables en dll, en Linux no son
ejecutables, por esta razón, se usan buildpacks que son proyectos compilados de aplicaciones
como Tesseract. Los buildpacks encontrados en la web no son compatibles con este proyecto
realizado en Spring Boot, entonces se realiza algunas configuraciones y se genera buildpack
propio.
160 Anexos
Anexo D
Desarrollo buildpack personalizado
Se instala PeaZip que compirme los archivos compilados previamente en un paquete “ta.gz”
de la siguiente manera:
En la carpeta bin se crea archivo compile que tendrá sentencias bash:
Luego de generar estos archivos se sube a un repositorio github de donde Heroku podrá utilizar
el buildpack:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 161
Luego agregamos a Heroku la dirección del repositorio de la siguiente manera:
162 Anexos
Anexo E
INICIO DE TENSORFLOW
Como estamos usando el repositorio de Maven agregamos la siguiente dependencia:
Como una primera implementación se desarrollo un ejemplo básico de grafo, donde se requiera
la interoperabilidad de nodos para dar un resultado, que en este caso vamos a simular la suma
de dos multiplicaciones (z=3x+2y) nuestro codigo quedaria de la siguiente manera:
Para la creación del grafo:
Para la ejecución del tensor:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 163
Anexo F
Instalación de DL4J en Spring Boot
La instalación de esta herramienta para usarlo en java es agregar una dependencia en
Maven de la siguiente forma:
Como ya tenemos nuestra librería importada inicializamos nuestros valores que serán
usados en el modelo:
Configuramos nuestro modelo que procesa la información:
Se agrega imagenes que estan en carpetas de forma iterativa:
164 Anexos
Con el modelo se cargan las imágenes para entrenamiento y exportación de train-data:
Finalmente usamos nuestro train-data para las pruebas:
.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 165
Anexo C
NGROK GENERACIÓN DE URL PÚBLICA
Ngrok permite exponer a internet una URL generada dinámicamente, la cual apunta
a un servicio web que se está ejecutando en máquina local. Por ejemplo: para un servicio web
arrancado en http://localhost:8080, ngrok genera dinámicamente una URL del tipo
http://xxxxxx.ngrok.io visible en internet, y que apunta directamente a localhost.
Es necesario descargar Ngrok de su página principal, seleccionar el botón de empezar
gratis, registro y acceso al apartado de descargas:
https://ngrok.com/
Para empezar con la herramienta se ejecuta el proyecto y se determina el puerto en el
que está corriendo. Asi, el proyecto está corriendo en el puerto 8888.
Después de descargar la herramienta Ngrok descomprir el archivo y se ejecuta, se
coloca el comando “ngrok http 8888” para realizar la generación de la URL según el puerto
definido en servidor local. Se muestra la información y la URL generada.
Con la URL se observa que proyecto se está ejecuta del mismo modo que se ejecuta
en servidor local.
166 Anexos
Anexo H
SPRING TOOL COMO HERRAMIENTA DE DESARROLLO
¿Por qué Spring Tool para desarrollo de sistemas java?
El marco de desarrollo Spring es actualmente el más sólido en cuanto a desarrollo eficiente de
sistemas hechos en java, y el IDE perfecto para esto es el Spring-Tool(Modificación de eclipse
para Spring) que ya viene integrado con tecnologías como maven para el manejo de
dependencias, tomcat para la ejecución de servidor, kits de desarrollo que pueden ser
integrados según la necesidad del desarrollador sin tener que importar librerías manualmente
o realizar varias configuraciones como se hacía tradicionalmente.
¿Cómo instalar Spring-Tool en mi dispositivo?
La instalación es de los más sencilla, primero hay que descargar la última versión en su página
oficial https://spring.io/tools, ejecutar el archivo .jar que extrae la aplicación listo a ser usada.
El archivo jar se encuentra en la carpeta de anexos.
Primero descarga y ubica el archivo .jar en el lugar de la instalación.
Luego ejecuta y este ya procede a extraer todo lo necesario para empezar a utilizar la
aplicación.
¿Cómo importar un proyecto maven listo para usar?
Para utilizar un proyecto que está siendo desarrollado en Spring Tool es mejor
importarlo desde el POM.xml, para ello primero seleccionamos importar:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 167
Seleccionamos un proyecto existente:
Buscamos la ubicación de nuestro proyecto en el directorio y lo
seleccionamos:
168 Anexos
Luego aceptamos y seleccionamos el Pom.xml que aparece y listo:
Finalmente para la ejecución es importante seleccionar la ejecución como
Spring Boot App, y revise el puerto localhost:8080:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 169
Anexo I
DESARROLLO DE LA INTERFAZ
Interfaz para el reconocimiento de texto
La interfaz para el reconocimiento de texto escrito y texto impreso presenta 4 secciones los
cuales se enfocan en lo siguiente:
La sección “Reconocimiento” presenta un reconocimiento normal, reconocimiento de
letra manuscrita y la implementación del reconocimiento haciendo uso de la API de
Google.
La sección “Preprocesamiento” nos otorga la opción de poder elegir varios tipos de
preprocesamiento para aplicar a la imagen y mejorar el reconocimiento de texto.
La sección “Opciones de visualización” proporciona diferentes tipos de visualización
como la detección de párrafos, líneas de texto, palabras y caracteres.
Como última sección tenemos el de selección de archivo de texto para la prueba
cuantitativa de reconocimiento en base al texto original.
Interfaz para el entrenamiento
La interfaz de entrenamiento presenta dos apartados, el que está a la izquierda
es el apartado de dibujo de caracteres y el que se encuentra a la derecha es el
apartado de ingreso de etiqueta para el entrenamiento, una vez seleccionado
el botón de entrenar se ejecutará el entrenamiento y se devolverá un mensaje
informando el éxito o error de la acción.
170 Anexos
La imagen y la etiqueta son enviadas al controlador donde se recuperan estos
datos, se formatea la imagen y se envía a entrar.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 171
Anexo J
Mapa Conceptual Investigacion Científica
Técnicas e Instrumentos
172 Anexos
Anexo K
Stopwords
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 173
Anexo
Restauración de imágenes de caracteres degradados mediante contornos activos:
enfoque general
Metodologías algorítmicas
Ineligencia artificial
Visión computacional
Gráficos de computadora
Manipulación de imágen
Procesamiento de Imagen